代码之家  ›  专栏  ›  技术社区  ›  n1c9

aws数据管道中emractivity到hadoopactivity的转换

  •  0
  • n1c9  · 技术社区  · 7 年前

    假设aws数据管道设置仅包含以下内容:

    • myEmrActivity1 myEmrActivity2 这需要command-runner.jar、spark submit和一些其他参数(比如python版本)来使用。每个活动的参数都不同。
    • 2个参数,每一个模拟一个

    例如, MyEmrActivity1 运行一个spark作业,该作业计算给定年份的缺勤总数,因此该作业的有效性的示例参数可能是:

    myEmrActivity1: command-runner.jar,spark-submit,--master,yarn-cluster,--deploy-mode,cluster,PYTHON=python36,s3://amznhadoopactivity/school-attendance-python36/calculate_attendance_for_year.py,2017

    其中2017表示提供给python脚本的年份。

    然而, HadoopActivity 有点不一样 EmrActivity . Hadoop活动 获取我填写的jar uri s3://dynamodb-emr-<region>/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar ,插入我的区域-让我们称之为 myHadoopActivity1 . 但是,我不明白如何将一个步骤精确地链接到一个活动,就像我对参数所做的那样-我如何用hadoopactivity对象来重新创建我用数据管道中的emractivity设置的行为?我应该使用不同的.jar文件吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   n1c9    7 年前

    事实证明,这是很容易做到的,尽管并不明显。第一件事第一-我 应该 一直在使用不同的.jar uri: /var/lib/aws/emr/step runner/hadoop jars/command-runner.jar . 在改变之后,接下来的步骤非常简单。如果你在跑步:

    command-runner.jar,spark-submit,--master,yarn-cluster
    

    作为emr活动,只需添加hadoopactivity,放入上面提到的.jar中,然后添加其他参数来复制empractivity的“步骤”行为:

    Argument: command-runner.jar
    Argument: spark-submit
    Argument: --master
    Argument: yarn-cluster
    

    等等等等。所以,没那么难,但也不明显。希望这对将来有帮助。

    推荐文章