AWS CLI を使用して Amazon EMR クラスターにステップを追加する
以下の手順は、AWS CLI を使用して、新しく作成されるクラスターと実行中のクラスターにステップを追加する方法を示しています。どちらの例でも、クラスターにステップを追加するために --steps
サブコマンドを使用します。
クラスターの作成中にステップを追加するには
-
以下のコマンドを入力し、クラスターを作成して Apache Pig ステップを追加します。
を Amazon EC2 キーペアの名前に置き換えてください。myKey
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" }
実行中のクラスターにステップを追加するには
-
以下のコマンドを入力し、実行中のクラスターにステップを追加します。
は独自のクラスター ID に置き換えます。j-2AXXXXXXGAPLF
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 を変更するには
-
実行中のクラスターでは、
ModifyCluster
API を使用してStepConcurrencyLevel
を変更できます。例えば、StepConcurrencyLevel
を10
に増やすには、次のコマンドを入力します。
はクラスター ID に置き換えます。j-2AXXXXXXGAPLF
aws emr modify-cluster --cluster-id
j-2AXXXXXXGAPLF
--step-concurrency-level 10 -
出力は以下のようになります。
{ "StepConcurrencyLevel": 10 }
AWS CLI での Amazon EMR コマンドの使用の詳細については、「AWS CLI コマンドリファレンス」を参照してください。