使用 AWS CLI 向集群添加步骤 - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CLI 向集群添加步骤

以下过程演示如何使用 AWS CLI 向新创建的集群和正在运行的集群添加步骤。在两个示例中,都使用 --steps 子命令向集群添加步骤。

在集群创建过程中添加步骤

  • 键入以下命令以创建集群并添加一个 Apache Pig 步骤。将 myKey 替换为您的 Amazon EC2 密钥对的名称,并将 mybucket 替换为您的 Amazon S3 存储桶的名称。

    • Linux、UNIX 和 macOS

      aws emr create-cluster --name "Test cluster" --ami-version 2.4 --applications Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge \ --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,Args=[-f,s3://mybucket/scripts/pigscript.pig,-p,INPUT=s3://mybucket/inputdata/,-p,OUTPUT=s3://mybucket/outputdata/,$INPUT=s3://mybucket/inputdata/,$OUTPUT=s3://mybucket/outputdata/]
    • Windows

      aws emr create-cluster --name "Test cluster" --ami-version 2.4 --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,Args=[-f,s3://mybucket/scripts/pigscript.pig,-p,INPUT=s3://mybucket/inputdata/,-p,OUTPUT=s3://mybucket/outputdata/,$INPUT=s3://mybucket/inputdata/,$OUTPUT=s3://mybucket/outputdata/]
    注意

    参数列表因步骤类型而异。

    默认情况下,步骤并发级别为 1。您可以在创建集群时使用 StepConcurrencyLevel 参数设置步骤并发级别。

    输出是类似于以下内容的集群标识符。

    { "ClusterId": "j-2AXXXXXXGAPLF" }

向正在运行的集群添加步骤

  • 键入以下命令以向正在运行的集群添加步骤。将 j-2AXXXXXXGAPLF 替换为您的集群 ID,并将 mybucket 替换为您的 Amazon S3 存储桶名称。

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF --steps Type=PIG,Name="Pig Program",Args=[-f,s3://mybucket/scripts/pigscript.pig,-p,INPUT=s3://mybucket/inputdata/,-p,OUTPUT=s3://mybucket/outputdata/,$INPUT=s3://mybucket/inputdata/,$OUTPUT=s3://mybucket/outputdata/]

    输出是类似于以下内容的步骤标识符。

    { "StepIds": [ "s-Y9XXXXXXAPMD" ] }

修改正在运行的集群中的 StepConcurrencyLevel

  1. 在正在运行的集群中,您可以使用 ModifyCluster API 修改 StepConcurrencyLevel。例如,键入以下命令将 StepConcurrenyLevel 增加到 10。将 j-2AXXXXXXGAPLF 替换为您的集群 ID。

    aws emr modify-cluster --cluster-id j-2AXXXXXXGAPLF --step-concurrency-level 10
  2. 输出类似于以下内容。

    { "StepConcurrencyLevel": 10 }

有关如何在 AWS CLI 中使用 Amazon EMR 命令的更多信息,请参阅 https://docs.amazonaws.cn/cli/latest/reference/emr