如何将“hadoopjar”命令迁移到gcp?

jv4diomz  于 2021-07-15  发布在  Hadoop
关注(0)|答案(0)|浏览(181)

标题几乎说明了这一切:我们正在将一些作业从cloudera迁移到gcp,为此,我们正在用gsutil命令替换所有hadoop命令。
但是,hadoopjar命令有一些困难,因为我没有找到有效的替代品。
假设我以前的工作是这样的:

hadoop jar /some/cloudera/path/thefile.jar \
    -files $path1/file1.sh,$path2/file2.py \
    -D mapred.job.queue.name=${ENVVAR} \
    -D mapred.reduce.tasks=0 \
    -D stream.map.output.field.separator=";" \
    -input ${inputPath}/* \
    -output ${outputPath} \
    -mapper file1.sh

在gcp上执行相同操作的最佳方法是什么?
(这是我的第一个问题,不要刻薄:)
更新:
你从未停止学习,这是多么真实啊!最重要的是,你的老问题听起来真的很愚蠢。简单的解决办法是

gcloud dataproc jobs submit hadoop \
  --cluster=[CLUSTER_NAME] \
  --region=[REGION] \
  --jar=file:///usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
  --files $path1/file1.sh,$path2/file2.py \
  --properties mapreduce.job.reduces=0,stream.map.output.field.separator=";" \
  -- -input {theInputPathButOnGs}/* -output {theOutputPathButOnGs} -mapper file1.sh

一开始我可能想不通,因为我没有找到合适的例子,所以我不得不做一些尝试,找出key=value参数以及input、output和mapper的放置位置。一切似乎都不同了。但它成功了。感谢那些帮助我的人

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题