【问题标题】:Cloudformation template for steps in Pyspark EMRPyspark EMR 中步骤的 Cloudformation 模板
【发布时间】:2021-04-28 16:16:16
【问题描述】:

我正在尝试使用 AWS cloudformation 创建 EMR 集群。 我在我的 EMR Pyspark 作业中使用以下步骤参数,我需要提供多个 .py zip 文件。

EMRStepArgs:
    Description: EMR Step Args
    Type: CommaDelimitedList
    Default: "spark-submit,--deploy-mode,cluster,--packages,org.mongodb.spark:mongo-spark-connector_2.12:3.0.1,--py-files,'s3://logsetl-emr/py-dist/jobs.zip\,s3://logsetl-emr/py-dist/shared.zip\,s3://logsetl-emr/py-dist/libs.zip\,s3://logsetl-emr/py-dist/schema.zip',--files,s3://logsetl-emr/py-dist/config.json,s3://logsetl-emr/py-dist/main.py,--job,cdn,--start_date,'2021-04-14',--end_date,'2021-04-14'"

EMRStepArgs 将作为参数提供给 cloudformation .yaml 文件中的 EMR 步骤

我在 EMR 集群中得到的是

spark-submit --deploy-mode cluster --packages org.mongodb.spark:mongo-spark-connector_2.12:3.0.1 --py-files 's3://logsetl-emr/py-dist/jobs.zip s3://logsetl-emr/py-dist/shared.zip s3://logsetl-emr/py-dist/libs.zip s3://logsetl-emr/py-dist/schema.zip' --files s3://logsetl-emr/py-dist/config.json s3://logsetl-emr/py-dist/main.py --job cdn --start_date '2021-04-14' --end_date '2021-04-14'

我想要的是

spark-submit --deploy-mode cluster --packages org.mongodb.spark:mongo-spark-connector_2.12:3.0.1 --py-files s3://logsetl-emr/py-dist/jobs.zip,s3://logsetl-emr/py-dist/shared.zip,s3://logsetl-emr/py-dist/libs.zip,s3://logsetl-emr/py-dist/schema.zip --files s3://logsetl-emr/py-dist/config.json s3://logsetl-emr/py-dist/main.py --job cdn --start_date '2021-04-14' --end_date '2021-04-14'

我不确定如何忽略参数中的逗号。

【问题讨论】:

  • "忽略参数中的逗号" - 你这是什么意思?如果你不想要命令,那你为什么把它放在那里?

标签: apache-spark pyspark amazon-cloudformation amazon-emr


【解决方案1】:

通过将 EMRStepArgs 定义为解决此问题

EMRStepArgs:
    Description: EMR Step Args
    Type: String
    Default: "spark-submit --master yarn --conf spark.yarn.submit.waitAppCompletion=true --deploy-mode cluster --packages org.mongodb.spark:mongo-spark-connector_2.12:3.0.1 --py-files s3://logsetl--emr/py-dist/jobs.zip,s3://logsetl--emr/py-dist/shared.zip,s3://logsetl--emr/py-dist/libs.zip,s3://logsetl--emr/py-dist/schema.zip --files s3://logsetl--emr/py-dist/config.json s3://logsetl--emr/py-dist/main.py --job cdn --start_date '2021-04-14' --end_date '2021-04-14'"

并在以下步骤中使用它

- ActionOnFailure: !Ref EMRActionOnfailure
          HadoopJarStep:
            Args:
              !Split [" ", !Ref EMRStepArgs]
              # Ref: EMRStepArgs

            Jar: command-runner.jar
            MainClass: ""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多