【问题标题】:How to run a Spark job on EMR via Cloudformation如何通过 Cloudformation 在 EMR 上运行 Spark 作业
【发布时间】:2019-06-06 22:27:59
【问题描述】:
我刚刚开始使用 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 步,但我不确定应该如何通过 CloudFormation 完成第 2 步。
我一直在尝试查看 AWS 文档和其他站点上的几个示例,但我看不到通过 CloudFormation 模板部署 Spark 作业的示例。
任何正确方向的示例或指示都会非常有帮助。提前致谢!
【问题讨论】:
标签:
amazon-web-services
apache-spark
pyspark
amazon-cloudformation
amazon-emr
【解决方案1】:
像这样更改您的 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