在Google Cloud Dataproc环境中使用Hadoop流运行python map reduce job时出错

时间:2017-12-28 07:26:43

标签: hadoop google-cloud-platform hadoop-streaming google-cloud-dataproc

我想使用hadoop流方法在Google Cloud Dataproc中运行python 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_to_mapreduce/mapper_prod_cat.py   不存在,或不可读。

     

尝试-help获取更多信息流命令失败!

云连接器是否在hadoop流中不起作用?有没有其他方法可以使用带有python脚本和位于Google云端存储中的输入文件的hadoop流来运行python map reduce job?

谢谢

1 个答案:

答案 0 :(得分:2)

hadoop-streaming的from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC 选项仅适用于本地文件。但请注意,其帮助文本提到不推荐使用-file标志,而使用通用-file选项。使用通用-files选项允许我们指定要暂存的远程(hdfs / gs)文件。另请注意,通用选项必须位于特定于应用程序的标志之前。

您的调用将变为:

-files