【问题标题】:How can I add 2 (pyspark,scala) steps together in AWS EMR?如何在 AWS EMR 中一起添加 2 个(pyspark、scala)步骤?
【发布时间】:2021-05-18 18:09:54
【问题描述】:

我想在 AWS EMR 集群中一起添加两个步骤。 第 1 步是基于 pyspark 的代码,第 2 步是基于 Scala-spark 的代码。

我如何做到这一点?

【问题讨论】:

    标签: python amazon-web-services scala pyspark amazon-emr


    【解决方案1】:

    只要您的步骤逻辑正确(输入/输出符合您的逻辑),运行一个步骤并不依赖于上一步使用的语言。

    例如,您的第一步(我假设集群正在运行)是使用 python,这可能类似于从 MySQL/S3 获取数据并执行 ETC 并保存到 S3(此处通知 /home/hadoop/spark/myscript.py)

     aws emr add-steps --cluster-id j-xxxxxxx 
    --steps Name=Spark,Jar=s3://eu-west-1.elasticmapreduce/libs/script-runner/script-runner.jar,
     Args=[/home/hadoop/spark/bin/spark-submit,
    --deploy-mode,client,/home/hadoop/spark/myscript.py],
     ActionOnFailure=CONTINUE
    

    你的下一步可以是任何东西,包括 scala。例如(此处通知/usr/lib/spark/examples/jars/spark-examples.jar)

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF
    --steps Type=Spark,Name="Spark Program",ActionOnFailure=CONTINUE,
     Args=[
     --class,org.apache.spark.examples.SparkPi,
     /usr/lib/spark/examples/jars/spark-examples.jar,10]
    

    现在考虑以下提交两个步骤的命令,(注意 TYPE 之前的黑步)

    注意:步骤名称为CustomJAR,CustomJAR2

    aws emr add-steps 
    --cluster-id j-XXXXXXXX --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://mybucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR2,ActionOnFailure=CONTINUE,Jar=s3://mybucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3
    

    您现在只需将 python 和 scala 步骤放在适当的位置。

    【讨论】:

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