我想使用hadoop流方法在googleclouddataproc中运行pythonmapreduce作业。我的map reduce python脚本、输入文件和作业结果输出都位于google云存储中。
我试着运行这个命令
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -file gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py -mapper gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py -file gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py -reducer gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py -input gs://bucket-name/intro_to_mapreduce/purchases.txt -output gs://bucket-name/intro_to_mapreduce/output_prod_cat
但我得到了一个错误输出:
文件:/home/ramaadhitia/gs:/bucket name/intro\u to\u mapreduce/mapper\u prod\u cat.py不存在或不可读。
尝试-帮助获取更多信息流命令失败!
云连接器在hadoop流媒体中不工作吗?使用hadoop流式处理google云存储中的python脚本和输入文件,有没有其他方法来运行python map reduce作业?
谢谢您
1条答案
按热度按时间bnl4lu3b1#
这个
-file
来自hadoop streaming的选项只适用于本地文件。但是请注意,它的帮助文本提到-file
不赞成使用标志,而赞成使用泛型-files
选项。使用泛型-files
选项允许我们指定要暂存的远程(hdfs/gs)文件。还要注意,泛型选项必须在应用程序特定标志之前。你的召唤会变成: