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

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

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

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

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

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

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

暂无答案!

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

相关问题