AWS CLI を使用して Amazon EMR クラスターにステップを追加する - Amazon EMR

AWS CLI を使用して Amazon EMR クラスターにステップを追加する

以下の手順は、AWS CLI を使用して、新しく作成されるクラスターと実行中のクラスターにステップを追加する方法を示しています。どちらの例でも、クラスターにステップを追加するために --steps サブコマンドを使用します。

クラスターの作成中にステップを追加するには
  • 以下のコマンドを入力し、クラスターを作成して Apache Pig ステップを追加します。myKey を Amazon EC2 キーペアの名前に置き換えてください。

    aws emr create-cluster --name "Test cluster" \ --applications Name=Spark \ --use-default-roles \ --ec2-attributes KeyName=myKey \ --instance-groups InstanceGroupType=PRIMARY,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge \ --steps '[{"Args":["spark-submit","--deploy-mode","cluster","--class","org.apache.spark.examples.SparkPi","/usr/lib/spark/examples/jars/spark-examples.jar","5"],"Type":"CUSTOM_JAR","ActionOnFailure":"CONTINUE","Jar":"command-runner.jar","Properties":"","Name":"Spark application"}]'
    注記

    引数のリストはステップのタイプによって異なります。

    デフォルトでは、ステップの同時実行レベルは 1 です。クラスターの作成時に StepConcurrencyLevel パラメータを使用して、ステップの同時実行レベルを設定できます。

    出力は、次のようなクラスター識別子です。

    { "ClusterId": "j-2AXXXXXXGAPLF" }
実行中のクラスターにステップを追加するには
  • 以下のコマンドを入力し、実行中のクラスターにステップを追加します。j-2AXXXXXXGAPLF は独自のクラスター ID に置き換えます。

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \ --steps '[{"Args":["spark-submit","--deploy-mode","cluster","--class","org.apache.spark.examples.SparkPi","/usr/lib/spark/examples/jars/spark-examples.jar","5"],"Type":"CUSTOM_JAR","ActionOnFailure":"CONTINUE","Jar":"command-runner.jar","Properties":"","Name":"Spark application"}]'

    出力は、次のようなステップ識別子です。

    { "StepIds": [ "s-Y9XXXXXXAPMD" ] }
実行中のクラスターで StepConcurrencyLevel を変更するには
  1. 実行中のクラスターでは、ModifyCluster API を使用して StepConcurrencyLevel を変更できます。例えば、StepConcurrencyLevel10 に増やすには、次のコマンドを入力します。j-2AXXXXXXGAPLF はクラスター ID に置き換えます。

    aws emr modify-cluster --cluster-id j-2AXXXXXXGAPLF --step-concurrency-level 10
  2. 出力は以下のようになります。

    { "StepConcurrencyLevel": 10 }

AWS CLI での Amazon EMR コマンドの使用の詳細については、「AWS CLI コマンドリファレンス」を参照してください。