Представьте себе установку конвейера данных 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?