Adição de etapas a um cluster do Amazon EMR usando a AWS CLI
Os procedimentos a seguir demonstram como adicionar etapas a um cluster recém-criado e a um cluster em execução com a AWS CLI. Ambos os exemplos usam o subcomando --steps
para adicionar etapas ao cluster.
Para adicionar etapas durante a criação do cluster
-
Digite o seguinte comando para criar um cluster e adicionar uma etapa do Apache Pig. Substitua
pelo nome do par de chaves do 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"}]'nota
A lista de argumentos muda dependendo do tipo de etapa.
Por padrão, o nível de simultaneidade da etapa é
1
. É possível definir o nível de simultaneidade da etapa usando o parâmetroStepConcurrencyLevel
ao criar um cluster.A saída é um identificador de cluster semelhante ao seguinte:
{ "ClusterId": "j-2AXXXXXXGAPLF" }
Para adicionar uma etapa a um cluster em execução
-
Digite o seguinte comando para adicionar uma etapa a um cluster em execução. Substitua
por seu próprio ID do cluster.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"}]'A saída é um identificador de etapa semelhante ao seguinte:
{ "StepIds": [ "s-Y9XXXXXXAPMD" ] }
Para modificar o StepConcurrencyLevel em um cluster em execução
-
Em um cluster em execução, é possível modificar
StepConcurrencyLevel
com a APIModifyCluster
. Por exemplo, digite o seguinte comando para aumentar oStepConcurrencyLevel
para10
. Substitua
pelo nome do ID do cluster.j-2AXXXXXXGAPLF
aws emr modify-cluster --cluster-id
j-2AXXXXXXGAPLF
--step-concurrency-level 10 -
A saída é semelhante à seguinte.
{ "StepConcurrencyLevel": 10 }
Para obter mais informações sobre o uso de comandos do Amazon EMR na AWS CLI, consulte AWS CLI Command Reference.