Как запустить работу Spark в EMR через Cloudformation - PullRequest
0 голосов
/ 12 января 2019

Я только начинаю работать с AWS и играю с EMR и CloudFormation. Моя цель - написать шаблон Cloudformation, который будет:

1. Create an EMR cluster with Spark and Hadoop installed
2. Run Spark jobs on the EMR cluster. Jobs will be submitted as a JAR or Pyspark files.

Мне удалось успешно выполнить Шаг 1, но я не уверен, как Шаг 2 должен быть выполнен через CloudFormation.

Я пытался взглянуть на пару примеров в документации AWS и на других сайтах, но я не смог найти тот, где развертывание задания запускается через шаблон CloudFormation.

Любые примеры или указатели в правильном направлении были бы очень полезны. Заранее спасибо!

1 Ответ

0 голосов
/ 31 января 2019

Измените свой сценарий EMR Cloudformation следующим образом раздел параметров EMR

StepScriptFilePath:
  Type: String
  Description: Step Scipt to run a bash script or add a java file here
  Default: 's3://s3-bucket/steps/step1.sh'
StepScriptFilePython:
  Type: String
  Description: Step Scipt to run a python file file
  Default: 's3://s3-bucket/steps/step2.py'
StepJar:
  Type: String
  Description: Spark jar file
  Default: 's3://elasticmapreduce/libs/script-runner/script-runner.jar'

добавить это в свойствах EMR

  Steps:
    - ActionOnFailure: CONTINUE
      HadoopJarStep:
        Args:
          - Ref: StepScriptFile
        Jar:
          Ref: StepJar
        MainClass: ''
      Name: run any bash or java job in spark
   - ActionOnFailure: CONTINUE
      HadoopJarStep:
        Args:
          - "spark-submit"
          - Ref: StepScriptFilePython
        Jar: command-runner.jar
      Name: run a python script job
...