

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 將步驟新增至 Amazon EMR 叢集 AWS CLI
<a name="add-step-cli"></a>

以下程序示範如何使用 AWS CLI將步驟新增至新建立的叢集與執行中叢集。這兩個範例都使用 `--steps` 子命令將步驟新增至叢集。

**在叢集建立期間新增步驟**
+ 輸入下列命令來建立叢集並新增 Apache Pig 步驟。確保將 *`myKey`* 取代為 Amazon EC2 金鑰對的名稱。

  ```
  1. aws emr create-cluster --name "Test cluster" \
  2. --applications Name=Spark \
  3. --use-default-roles \
  4. --ec2-attributes KeyName=myKey \
  5. --instance-groups InstanceGroupType=PRIMARY,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge \
  6. --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` 參數來設定步驟並行層級。

  輸出與下列輸出類似。

  ```
  1. {
  2.     "ClusterId": "j-2AXXXXXXGAPLF"
  3. }
  ```

**將步驟新增至執行中叢集**
+ 輸入下列命令來將步驟新增至執行中的叢集。使用自己的叢集 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"}]'
  ```

   輸出是與下列項目類似的步驟識別碼。

  ```
  1. {
  2.     "StepIds": [
  3. 	"s-Y9XXXXXXAPMD"
  4.     ]
  5. }
  ```

**修改執行中叢集中的步驟並行層級**

1. 在執行中的叢集中，可以使用 `ModifyCluster` API 修改 `StepConcurrencyLevel`。例如，輸入下列命令，將 `StepConcurrencyLevel` 提高到 `10`。使用您的叢集 ID 取代 `j-2AXXXXXXGAPLF`。

   ```
   aws emr modify-cluster --cluster-id j-2AXXXXXXGAPLF --step-concurrency-level 10
   ```

1. 輸出類似如下。

   ```
   {
   "StepConcurrencyLevel": 10
   }
   ```

如需在 中使用 Amazon EMR 命令的詳細資訊 AWS CLI，請參閱 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/emr)。