Перевод EmrActivity в HadoopActivity в конвейере данных AWS - PullRequest
0 голосов
/ 30 мая 2018

Представьте себе установку конвейера данных AWS, которая содержит только следующее:

  • 2 EmrActivities, myEmrActivity1 и myEmrActivity2, которая принимает command-runner.jar, spark-submit и несколько других аргументовкак версия Python для использования.Аргументы различны для каждого действия.
  • 2 параметра, по одному для каждого EmrActivity

, поэтому, например, MyEmrActivity1 запускает искровое задание, которое вычисляет общее количество отсутствий дляданный год, поэтому примерным параметром для EmrActivity для этого задания может быть:

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.HadoopActivity принимает URI Jar, который я заполнил s3://dynamodb-emr-<region>/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar, с вставленным регионом - назовем это myHadoopActivity1.Тем не менее, я не понимаю, как именно связать шаг с действием, как я делал с параметрами - как бы я воссоздал поведение, которое я настроил с EmrActivity в конвейере данных, вместо этого с объектом HadoopActivity?Должен ли я использовать другой файл .jar?

1 Ответ

0 голосов
/ 14 июня 2018

Оказывается, это было довольно легко сделать, хотя и не очевидно.Перво-наперво - я должен использовать другой URI .jar: / var / lib / aws / emr / step-runner / hadoop-jars / command-runner.jar .После этого следующие шаги были довольно простыми.Если вы выполняете:

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

в качестве действия EMR, просто добавьте HadoopActivity, вставьте упомянутый выше .jar, а затем добавьте дополнительные аргументы, чтобы повторить поведение «шагов» EmrActivity:

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

и так далее и тому подобное.Так что не так сложно, но это не так же очевидно.Надеюсь, это поможет кому-то в будущем.

...