Amazon EMR
管理ガイド

CLI およびコンソールを使用した手順の作業

クラスターにステップを追加するには、AWS マネジメントコンソール、AWS CLI、または Amazon EMR API を使用します。クラスターで使用できる保留中のステップとアクティブなステップの最大数は 256 です (これには、Pig のインストール、Hive のインストール、HBase のインストール、デバッグの設定などのシステムステップも含まれます)。長時間稼働するクラスターが存続する間は、送信できるステップの数に制限はありませんが、任意の時点でアクティブまたは保留中にできるステップは 256 ステップまでです。バージョン 5.0.0 を除く EMR バージョン 4.8.0 以降では、AWS マネジメントコンソール、AWS CLI、または Amazon EMR API を使用して保留中のステップをキャンセルできます。

クラスターへのステップの追加

クラスターにステップを追加するには、AWS CLI、Amazon EMR、SDK、または AWS マネジメントコンソール を使用します。AWS マネジメントコンソール を使用して、クラスターの作成時にクラスターにステップを追加できます。長時間稼働クラスター、すなわち自動終了オプションが無効になっているクラスターにステップを追加できます。

コンソールを使用したステップの追加

クラスターの作成時にステップを追加する場合も、クラスターにステップを追加する場合も、手順は以下のようになります。

AWS マネジメントコンソール を使用して実行中のクラスターにステップを追加するには

  1. Amazon EMR コンソールの [Cluster List (クラスターリスト)] ページで、クラスターのリンクをクリックします。

  2. [Cluster Details] ページで [Steps] セクションを展開し、[Add step] をクリックします。

  3. [Add Step] ダイアログボックスの各フィールドに適切な値を入力し、[Add] をクリックします。ステップタイプによってオプションが異なります。

AWS CLI を使用してステップを追加する

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

クラスターの作成時にステップを追加するには

  • 以下のコマンドを入力し、クラスターを作成して Pig ステップを追加します。myKey を EC2 キーペアの名前に置き換え、mybucket を Amazon S3 バケットの名前に置き換えます。

    • Linux、UNIX、Mac OS X ユーザー:

      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/]

    注記

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

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

    { "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" ] }

AWS CLI での Amazon EMR コマンドの使用方法の詳細については、「https://docs.aws.amazon.com/cli/latest/reference/emr」を参照してください。

ステップの表示

表示できるステップレコードの合計数は、ステップのステータスに関係なく、1,000 ステップです。この合計数には、ユーザーが送信したステップとシステムステップが含まれます。ユーザーが送信したステップのステータスが完了または失敗に変わると、制限である 1,000 ステップに到達するまで、ユーザーが送信した他のステップをクラスターに追加できます。1,000 ステップがクラスターに追加された後で、さらにステップを送信すると、ユーザーが送信した以前のステップレコードが古い順に削除されます。ただし、これらレコードはログファイルからは削除されません。これらのレコードはコンソール画面から削除され、CLI や API を使用してクラスター情報を取得するときに表示されなくなります。システムステップレコードは削除されません。

表示できるステップ情報は、クラスター情報の取得で使用するメカニズムによって異なります。以下の表は、使用可能な各オプションで返されるステップ情報を示しています。

オプション DescribeJobFlow または --describe --jobflow ListSteps または list-steps
SDK 256 ステップ 1,000 ステップ
Amazon EMR CLI 256 ステップ NA
AWS CLI NA 1,000 ステップ
API 256 ステップ 1,000 ステップ

保留中のステップのキャンセル

AWS マネジメントコンソール、AWS CLI、または Amazon EMR API を使用してステップをキャンセルできます。PENDING のステップのみキャンセルできます。

AWS マネジメントコンソール を使用してステップをキャンセルするには

  1. Amazon EMR コンソールの [Cluster List (クラスターリスト)] ページで、クラスターのリンクを選択します。

  2. [Cluster Details] ページで、[Steps] セクションを展開します。

  3. 各ステップをキャンセルするには、[Steps (ステップ)] のリストでステップを選んで [Cancel step (ステップのキャンセル)] を選択し、ステップのキャンセルを確定します。

AWS CLI を使用してステップをキャンセルするには

  • クラスターとキャンセルするステップを指定して、aws emr cancel-steps コマンドを使用します。次の例では、2 つのステップをキャンセルする AWS CLI コマンドについて説明します。

    aws emr cancel-steps --cluster-id j-2QUAJ7T3OTEI8 --step-ids s-3M8DKCZYYN1QE,s-3M8DKCZYYN1QE