在 Google Cloud Dataproc 环境中使用 Hadoop 流式处理 运行 python map reduce 作业时出错
Error when running python map reduce job using Hadoop streaming in Google Cloud Dataproc environment
我想 运行 python 使用 hadoop 流方法在 Google Cloud Dataproc 中映射缩减作业。我的 map reduce python 脚本、输入文件和作业结果输出位于 Google Cloud Storage。
我试过 运行 这个命令
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
但是我得到了这个错误输出:
File:
/home/ramaadhitia/gs:/bucket-name/intro_to_mapreduce/mapper_prod_cat.py
does not exist, or is not readable.
Try -help for more information Streaming Command Failed!
云连接器在 hadoop 流式处理中不工作吗?有没有其他方法 运行 python map reduce job using hadoop streaming with python script and input file located in Google Cloud Storage ?
谢谢
hadoop-streaming 的 -file
选项仅适用于本地文件。但是请注意,它的帮助文本提到 -file
标志已被弃用,取而代之的是通用的 -files
选项。使用通用的 -files
选项允许我们指定一个远程(hdfs / gs)文件来暂存。另请注意,通用选项必须先于应用程序特定标志。
您的调用将变为:
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
-files gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py,gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py \
-mapper mapper_prod_cat.py \
-reducer reducer_prod_cat.py \
-input gs://bucket-name/intro_to_mapreduce/purchases.txt \
-output gs://bucket-name/intro_to_mapreduce/output_prod_cat
我想 运行 python 使用 hadoop 流方法在 Google Cloud Dataproc 中映射缩减作业。我的 map reduce python 脚本、输入文件和作业结果输出位于 Google Cloud Storage。
我试过 运行 这个命令
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
但是我得到了这个错误输出:
File: /home/ramaadhitia/gs:/bucket-name/intro_to_mapreduce/mapper_prod_cat.py does not exist, or is not readable.
Try -help for more information Streaming Command Failed!
云连接器在 hadoop 流式处理中不工作吗?有没有其他方法 运行 python map reduce job using hadoop streaming with python script and input file located in Google Cloud Storage ?
谢谢
hadoop-streaming 的 -file
选项仅适用于本地文件。但是请注意,它的帮助文本提到 -file
标志已被弃用,取而代之的是通用的 -files
选项。使用通用的 -files
选项允许我们指定一个远程(hdfs / gs)文件来暂存。另请注意,通用选项必须先于应用程序特定标志。
您的调用将变为:
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
-files gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py,gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py \
-mapper mapper_prod_cat.py \
-reducer reducer_prod_cat.py \
-input gs://bucket-name/intro_to_mapreduce/purchases.txt \
-output gs://bucket-name/intro_to_mapreduce/output_prod_cat