【问题标题】:AWS EMR, Submit python pyspark script as step using terraformAWS EMR,使用 terraform 提交 python pyspark 脚本作为步骤
【发布时间】:2020-09-25 21:18:32
【问题描述】:

我已经使用 terraform 成功创建了一个 EMR 集群,根据 terraform 文档,它指定了如何将步骤作为 jar 提交给 EMR https://www.terraform.io/docs/providers/aws/r/emr_cluster.html#step-1

step {
    action_on_failure = "TERMINATE_CLUSTER"
    name              = "Setup Hadoop Debugging"

    hadoop_jar_step {
      jar  = "command-runner.jar"
      args = ["state-pusher-script"]
    }
  }

缺少将 pyspark 脚本作为步骤添加的文档。 有没有人有使用 terraform 添加 pyspark 脚本作为 EMR 步骤的经验?

【问题讨论】:

    标签: pyspark terraform amazon-emr


    【解决方案1】:

    执行此操作的常用方法是从 S3 复制脚本并使用 command-runner.jar 执行脚本。 (不知道是不是很理想……)

      step = [
        {
          name              = "Copy script"
          action_on_failure = "CONTINUE"
    
          hadoop_jar_step {
            jar  = "command-runner.jar"
            args = ["aws", "s3", "cp", "s3://path/to/script.py", "/home/hadoop/"]
          }
        },
        {
          name              = "Run script"
          action_on_failure = "CONTINUE"
    
          hadoop_jar_step {
            jar  = "command-runner.jar"
            args = ["bash", "/home/hadoop/script.py"]
          }
        },
      ]
    

    【讨论】:

    • 我收到错误,例如属性“step”的值不合适:元素 0:属性“hadoop_jar_step”:元素 0:属性“main_class”和“properties”是必需的。
    • 是的,我自己也遇到了这个错误。文档说这些属性是可选的,但该工具需要它们。我打开了一个问题:github.com/hashicorp/terraform-provider-aws/issues/20911
    【解决方案2】:

    这是一个使用 hadoop_jar_step 的工作示例。

      step = [
        {
          action_on_failure = "TERMINATE_CLUSTER"
          name              = "Setup Hadoop Debugging"
    
          hadoop_jar_step = [
            {
              jar = "command-runner.jar"
              args = [
                "state-pusher-script"
              ]
              main_class = ""
              properties = {}
            }
          ]
        }
      ]
    

    包含https://github.com/hashicorp/terraform-provider-aws/issues/20911 的解决方法

    args 更改为您的spark-submit 命令。

    【讨论】:

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