我想使用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?
谢谢
答案 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