チュートリアル: Amazon の開始方法 EMR - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: Amazon の開始方法 EMR

概要

Amazon EMRでは、ビッグデータフレームワークでデータを処理および分析するためのクラスターをわずか数分でセットアップできます。このチュートリアルでは、Spark を使用してサンプルクラスターを起動する方法と、Amazon S3 バケットに保存されているシンプルな PySpark スクリプトを実行する方法について説明します。ここでは、計画と設定、管理、クリーンアップの 3 つの主要なワークフローカテゴリで、重要な Amazon EMRタスクについて説明します。

チュートリアルの途中には詳細なトピックへのリンクがあります。また、「次のステップ」セクションに追加手順の概要が記載されています。質問がある場合や行き詰まった場合は、ディスカッションフォーラムの Amazon EMR チームにお問い合わせください。

Amazon のワークフロー図EMRは、計画と設定、管理、クリーンアップの 3 つの主要なワークフローカテゴリの概要を示しています。
前提条件
コスト
  • 作成するサンプルクラスターは、ライブ環境で実行されます。クラスターには最低料金が発生します。追加料金が発生しないように、このチュートリアルの最後の手順で必ずクリーンアップタスクを完了してください。料金は、Amazon のEMR料金に従って 1 秒あたりの料金で発生します。料金はリージョンによっても異なります。詳細については、「Amazon のEMR料金」を参照してください。

  • Amazon S3 に保存する小さなファイルについて、最低料金が発生する場合があります。 AWS 無料利用枠の使用制限の範囲内にある場合、Amazon S3 の一部またはすべての料金が免除される場合があります。詳細については、「Amazon S3 の料金」と「AWS 無料利用枠」を参照してください。

ステップ 1: Amazon EMRクラスターを計画および設定する

Amazon 用のストレージを準備する EMR

Amazon を使用する場合EMR、さまざまなファイルシステムから選択して、入力データ、出力データ、ログファイルを保存できます。このチュートリアルでは、 EMRFSを使用して S3 バケットにデータを保存します。EMRFS は、通常のファイルを Amazon S3 に読み書きできる Hadoop ファイルシステムの実装です。詳細については、「ストレージシステムとファイルシステムで作業する」を参照してください。

このチュートリアル用にバケットを作成するには、「Amazon Simple Storage Service ユーザーガイド」の「S3 バケットを作成する方法」に従ってください。Amazon EMRクラスターを起動するリージョンと同じ AWS リージョンにバケットを作成します。たとえば、米国西部 (オレゴン) の us-west-2 です。

Amazon で使用するバケットとフォルダEMRには、次の制限があります。

  • 名前に使用できるのは、小文字、数字、ピリオド (.)、およびハイフン (-) のみです。

  • 名前の末尾を数字にすることはできません。

  • バケット名はすべての AWS アカウントで一意である必要があります。

  • 出力フォルダは空である必要があります。

Amazon の入力データを使用してアプリケーションを準備する EMR

Amazon 用のアプリケーションを準備する最も一般的な方法は、アプリケーションとその入力データを Amazon S3 EMRにアップロードすることです。次に、クラスターに作業内容を送信するときに、スクリプトとデータを保存する Amazon S3 の場所を指定します。

このステップでは、サンプル PySpark スクリプトを Amazon S3 バケットにアップロードします。使用する PySpark スクリプトを用意しました。このスクリプトは食品施設の検査データを処理し、S3 バケットに結果ファイルを返します。結果ファイルには、「赤」タイプの違反が最も多い上位 10 施設がリストされます。

また、 PySpark スクリプトが処理するサンプル入力データを Amazon S3 にアップロードします。入力データは、ワシントン州キング郡にある保健局の 2006~2020 年の検査結果の修正版です。詳細については、「King County Open Data: Food Establishment Inspection Data」を参照してください。データセットのサンプル行を次に示します。

name, inspection_result, inspection_closed_business, violation_type, violation_points 100 LB CLAM, Unsatisfactory, FALSE, BLUE, 5 100 PERCENT NUTRICION, Unsatisfactory, FALSE, BLUE, 5 7-ELEVEN #2361-39423A, Complete, FALSE, , 0
のサンプル PySpark スクリプトを準備するには EMR
  1. 以下のコード例を任意のエディタの新しいファイルにコピーします。

    import argparse from pyspark.sql import SparkSession def calculate_red_violations(data_source, output_uri): """ Processes sample food establishment inspection data and queries the data to find the top 10 establishments with the most Red violations from 2006 to 2020. :param data_source: The URI of your food establishment data CSV, such as 's3://DOC-EXAMPLE-BUCKET/food-establishment-data.csv'. :param output_uri: The URI where output is written, such as 's3://DOC-EXAMPLE-BUCKET/restaurant_violation_results'. """ with SparkSession.builder.appName("Calculate Red Health Violations").getOrCreate() as spark: # Load the restaurant violation CSV data if data_source is not None: restaurants_df = spark.read.option("header", "true").csv(data_source) # Create an in-memory DataFrame to query restaurants_df.createOrReplaceTempView("restaurant_violations") # Create a DataFrame of the top 10 restaurants with the most Red violations top_red_violation_restaurants = spark.sql("""SELECT name, count(*) AS total_red_violations FROM restaurant_violations WHERE violation_type = 'RED' GROUP BY name ORDER BY total_red_violations DESC LIMIT 10""") # Write the results to the specified output URI top_red_violation_restaurants.write.option("header", "true").mode("overwrite").csv(output_uri) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( '--data_source', help="The URI for you CSV restaurant data, like an S3 bucket location.") parser.add_argument( '--output_uri', help="The URI where output is saved, like an S3 bucket location.") args = parser.parse_args() calculate_red_violations(args.data_source, args.output_uri)
  2. health_violations.py という名前でファイルを保存します。

  3. health_violations.py を、このチュートリアル用に作成した Amazon S3 のバケットにアップロードします。手順については、「Amazon Simple Storage Service ユーザーガイド」の「バケットにオブジェクトをアップロードする」を参照してください。

のサンプル入力データを準備します。 EMR
  1. zip ファイル food_establishment_data.zip をダウンロードします。

  2. food_establishment_data.zip を解凍し、ご使用のマシンに food_establishment_data.csv として保存します。

  3. このチュートリアル用に作成した S3 バケットに CSV ファイルをアップロードします。手順については、「Amazon Simple Storage Service ユーザーガイド」の「バケットにオブジェクトをアップロードする」を参照してください。

のデータの設定の詳細についてはEMR、「」を参照してください入力データを準備する

Amazon EMRクラスターを起動する

ストレージの場所とアプリケーションの準備が完了したら、サンプル Amazon EMRクラスターを起動できます。このステップでは、最新の Amazon EMRリリースバージョン を使用して Apache Spark クラスターを起動します。

Console
コンソールで Spark がインストールされたクラスターを起動するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

  2. 左側のナビゲーションペインの EMRでEC2クラスター を選択し、クラスターの作成 を選択します。

  3. [クラスターの作成] ページで、[リリース][インスタンスタイプ][インスタンス数]、および [アクセス許可] のデフォルト値を書き留めます。これらのフィールドには、汎用クラスターで機能する値が自動的に入力されます。

  4. クラスター名 フィールドに、クラスターを識別するのに役立つ一意のクラスター名を入力します。My first cluster。 クラスター名に <、>、$、|、` (バックティック) の文字を含めることはできません。

  5. [アプリケーション] で、[Spark] オプションをクリックして、クラスターに Spark をインストールします。

    注記

    EMR クラスターを起動する前に、Amazon クラスターで使用するアプリケーションを選択します。起動後は、クラスターに対するアプリケーションの追加や削除はできません。

  6. [クラスターログ] で、[クラスター固有のログを Amazon S3 に公開] チェックボックスを選択します。[Amazon S3 ロケーション] の値は、作成した Amazon S3 バケットに置き換え、その後に /logs を追加します。例えば、s3://DOC-EXAMPLE-BUCKET/logs と指定します。を追加すると、バケットに「logs」という名前の新しいフォルダ/logsが作成され、Amazon EMR はクラスターのログファイルをコピーできます。

  7. セキュリティ設定とアクセス許可 で、EC2キーペア を選択します。同じセクションで、Amazon のサービスロールEMRドロップダウンメニューを選択し、EMR_DefaultRole を選択します。次に、IAMインスタンスプロファイルのドロップダウンメニューのロールを選択し、EMR_EC2_DefaultRole を選択します。

  8. [クラスターの作成] を選択して、クラスターを起動し、クラスターの詳細ページを開きます。

  9. クラスター名の横のクラスターの [ステータス] を見つけます。Amazon がクラスターをEMRプロビジョニングすると、ステータスは開始から実行から待機に変わります。ステータスの更新を確認するには、右側にある更新アイコンを選択するか、ブラウザを更新する必要があります。

クラスターが起動して実行中になり、作業を受け付ける準備ができると、ステータスが [待機中] に変わります。クラスターの概要の読み込みの詳細については、「クラスターステータスと詳細の表示」を参照してください。クラスターのステータスの詳細については、「クラスターライフサイクルについて」を参照してください。

CLI
を使用して Spark がインストールされたクラスターを起動するには AWS CLI
  1. 次のコマンドを使用して、クラスターの作成に使用できるIAMデフォルトのロールを作成します。

    aws emr create-default-roles

    create-default-roles に関する詳細は、「AWS CLI Command Reference」を参照してください。

  2. 次のコマンドを使用して Spark クラスターを作成します。--name オプションでクラスターの名前を入力し、 --ec2-attributes オプションでEC2キーペアの名前を指定します。

    aws emr create-cluster \ --name "<My First EMR Cluster>" \ --release-label <emr-5.36.2> \ --applications Name=Spark \ --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-type m5.xlarge \ --instance-count 3 \ --use-default-roles

    その他の必須値 --instance-type--instance-count、および --use-default-roles にも注意してください。これらの値は、汎用クラスター向けに選択されています。create-cluster に関する詳細は、「AWS CLI Command Reference」を参照してください。

    注記

    読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

    次のような出力が表示されます。新しいクラスターの ClusterIdClusterArn が出力に表示されます。ClusterId を書き留めてください。ClusterId は、クラスターのステータスの確認と、作業の送信に使用します。

    { "ClusterId": "myClusterId", "ClusterArn": "myClusterArn" }
  3. 次のコマンドを使用して、クラスターのステータスを確認します。

    aws emr describe-cluster --cluster-id <myClusterId>

    新しいクラスター用のオブジェクト Status がある次のような出力が表示されます。

    { "Cluster": { "Id": "myClusterId", "Name": "My First EMR Cluster", "Status": { "State": "STARTING", "StateChangeReason": { "Message": "Configuring cluster software" } } } }

    Amazon がクラスターSTARTINGをEMRプロビジョニングWAITINGすると、State値は から RUNNINGに変わります。

クラスターが起動して実行中になり、作業を受け付ける準備ができると、ステータスが WAITING に変わります。クラスターのステータスの詳細については、「クラスターライフサイクルについて」を参照してください。

ステップ 2: Amazon EMRクラスターを管理する

Amazon に作業を送信する EMR

クラスターを起動したら、データを処理して分析するために、実行中のクラスターに作業を送信できます。ステップ として Amazon EMRクラスターに作業を送信します。ステップとは、1 つ以上のアクションで構成される作業の単位です。たとえば、値の計算や、データの転送と処理のためにステップを送信することが考えられます。ステップは、クラスターの起動時にも、実行中のクラスターに対しても送信できます。チュートリアルのこの部分では、実行中のクラスターにステップとして health_violations.py を送信します。ステップの詳細については、「クラスターへの作業の送信」を参照してください。

Console
コンソールを使用してステップとして Spark アプリケーションを送信するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

  2. 左側のナビゲーションペインの EMRでEC2クラスター を選択し、作業を送信するクラスターを選択します。クラスターの状態は [待機中] である必要があります。

  3. [ステップ] タブを選択し、[ステップの追加] を選択します。

  4. 次のガイドラインに従ってステップを設定します。

    • [タイプ] で、[Spark アプリケーション] を選択します。[デプロイモード][アプリケーションの場所]、および [Spark-submit オプション] のフィールドが追加で表示されます。

    • [名前] に新しい名前を入力します。クラスターに多数のステップがある場合は、それぞれに名前を付けると追跡しやすくなります。

    • [デプロイモード] は、デフォルト値 [クラスターモード] のままにします。Spark のデプロイモードの詳細については、Apache Spark ドキュメントの「Cluster Mode Overview」を参照してください。

    • アプリケーションの場所 には、Amazon S3 のhealth_violations.pyスクリプトの場所を入力します。s3://DOC-EXAMPLE-BUCKET/health_violations.py.

    • [Spark-submit オプション] フィールドは空白のままにします。spark-submit オプションの詳細については、「Launching applications with spark-submit」を参照してください。

    • [引数] フィールドに、次の引数と値を入力します。

      --data_source s3://DOC-EXAMPLE-BUCKET/food_establishment_data.csv --output_uri s3://DOC-EXAMPLE-BUCKET/myOutputFolder

      置換 s3://DOC-EXAMPLE-BUCKET/food_establishment_data.csv で準備したURI入力データの S3 バケットを使用しますAmazon の入力データを使用してアプリケーションを準備する EMR

      置換 DOC-EXAMPLE-BUCKET をこのチュートリアル用に作成したバケットの名前に置き換え、myOutputFolder クラスター出力フォルダの名前。

    • [ステップが失敗した場合のアクション] では、デフォルトのオプション [続行] を使用します。これにより、ステップが失敗してもクラスターは引き続き実行されます。

  5. [追加] を選択して、ステップを送信します。ステップが、[保留中] というステータスでコンソールに表示されます。

  6. ステップのステータスをモニタリングします。[保留中] から [実行中][完了] に変わります。コンソール内のステータスを更新するには、[フィルター] の右にある更新アイコンを選択します。スクリプトの実行には約 1 分間かかります。ステータスが [完了済み] に変わると、ステップは正常に完了しています。

CLI
を使用してステップとして Spark アプリケーションを送信するには AWS CLI
  1. Amazon EMRクラスターを起動する」で起動したクラスターの ClusterId がわかっていることを確認します。次のコマンドを使用して、クラスター ID を取得することもできます。

    aws emr list-clusters --cluster-states WAITING
  2. add-steps コマンドで ClusterId を指定して、ステップとして health_violations.py を送信します。

    • を置き換えることで、ステップの名前を指定できます。"My Spark Application"Args 配列で、s3://DOC-EXAMPLE-BUCKET/health_violations.pyhealth_violations.pyアプリケーションの場所に置き換えます。

    • 置換 s3://DOC-EXAMPLE-BUCKET/food_establishment_data.csv food_establishment_data.csv データセットの S3 の場所を指定します。

    • 置換 s3://DOC-EXAMPLE-BUCKET/MyOutputFolder は、指定されたバケットの S3 パスとクラスター出力フォルダの名前を指定します。

    • ActionOnFailure=CONTINUE は、ステップが失敗してもクラスターを引き続き実行することを指定します。

    aws emr add-steps \ --cluster-id <myClusterId> \ --steps Type=Spark,Name="<My Spark Application>",ActionOnFailure=CONTINUE,Args=[<s3://DOC-EXAMPLE-BUCKET/health_violations.py>,--data_source,<s3://DOC-EXAMPLE-BUCKET/food_establishment_data.csv>,--output_uri,<s3://DOC-EXAMPLE-BUCKET/MyOutputFolder>]

    を使用してステップを送信する方法の詳細についてはCLI、AWS CLI 「 コマンドリファレンス」を参照してください。

    ステップを送信すると、StepIds がリストされた次のような出力が表示されます。ステップを 1 つ送信したので、1 つの ID のみがリストされます。ステップ ID をコピーします。ステップ ID は、ステップのステータスを確認するために使用します。

    { "StepIds": [ "s-1XXXXXXXXXXA" ] }
  3. describe-step コマンドを使用して、ステップのステータスのクエリを実行します。

    aws emr describe-step --cluster-id <myClusterId> --step-id <s-1XXXXXXXXXXA>

    ステップに関する情報が記載された、次のような出力が表示されます。

    { "Step": { "Id": "s-1XXXXXXXXXXA", "Name": "My Spark Application", "Config": { "Jar": "command-runner.jar", "Properties": {}, "Args": [ "spark-submit", "s3://DOC-EXAMPLE-BUCKET/health_violations.py", "--data_source", "s3://DOC-EXAMPLE-BUCKET/food_establishment_data.csv", "--output_uri", "s3://DOC-EXAMPLE-BUCKET/myOutputFolder" ] }, "ActionOnFailure": "CONTINUE", "Status": { "State": "COMPLETED" } } }

    ステップの State は、ステップの実行に伴って PENDING から RUNNING、さらには COMPLETED へと変わります。このステップの実行には約 1 分間かかるため、ステータスを数回確認することが必要な場合があります。

StateCOMPLETED に変わることで、ステップが正常に終了したことがわかります。

ステップのライフサイクルに関する詳細は、「ステップの実行によるデータの処理」を参照してください。

結果を表示する

ステップが正常に実行されると、Amazon S3 の出力フォルダで出力結果を表示できます。

health_violations.py の結果を表示するには
  1. で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/

  2. [バケット名] を選択し、次に、ステップの送信時に指定した出力フォルダを選択します。例えば、 などです DOC-EXAMPLE-BUCKET 次に、myOutputFolder.

  3. 出力フォルダーに次の項目が表示されることを確認します。

    • _SUCCESS という名前の小さなサイズのオブジェクト。

    • 結果part-を含むプレフィックスで始まるCSVファイル。

  4. 結果を含むオブジェクトを選択し、[ダウンロード] をクリックして結果をローカルファイルシステムに保存します。

  5. 任意のエディタで、結果を開きます。出力ファイルには、赤の違反が最も多い上位 10 施設がリストされます。出力ファイルには、各施設に対する赤の違反の総数も表示されます。

    health_violations.py 結果の例を次に示します。

    name, total_red_violations SUBWAY, 322 T-MOBILE PARK, 315 WHOLE FOODS MARKET, 299 PCC COMMUNITY MARKETS, 251 TACO TIME, 240 MCDONALD'S, 177 THAI GINGER, 153 SAFEWAY INC #1508, 143 TAQUERIA EL RINCONSITO, 134 HIMITSU TERIYAKI, 128

Amazon EMRクラスターの出力の詳細については、「」を参照してください出力場所を設定する

Amazon を使用する場合EMR、実行中のクラスターに接続してログファイルの読み取り、クラスターのデバッグ、Spark シェルなどのCLIツールの使用を行うことができます。Amazon EMR では、Secure Shell (SSH) プロトコルを使用してクラスターに接続できます。このセクションではSSH、 の設定、クラスターへの接続、Spark のログファイルの表示方法について説明します。クラスターへの接続に関する詳細は、「Amazon EMRクラスターノードへの認証」を参照してください。

クラスターSSHへの接続を許可する

クラスターに接続する前に、クラスターセキュリティグループを変更してインバウンドSSH接続を許可する必要があります。Amazon EC2 セキュリティグループは、クラスターへのインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォールとして機能します。このチュートリアル用にクラスターを作成すると、Amazon はユーザーに代わって次のセキュリティグループEMRを作成しました。

ElasticMapReduceマスター

プライマリノードに関連付けられたデフォルトの Amazon EMRマネージドセキュリティグループ。Amazon EMRクラスターでは、プライマリノードはクラスターを管理する Amazon EC2インスタンスです。

ElasticMapReduce-スレーブ

コアノードとタスクノードに関連付けられているデフォルトのセキュリティグループ。

Console
コンソールを使用してプライマリセキュリティグループの信頼できるソースSSHへのアクセスを許可するには

セキュリティグループを編集するには、クラスターVPCが存在する のセキュリティグループを管理するアクセス許可が必要です。詳細については、「 IAMユーザーガイド」の「ユーザーのアクセス許可の変更」およびEC2「セキュリティグループの管理を許可するポリシーの例」を参照してください。

  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

  2. 左側のナビゲーションペインの EMRでEC2クラスター を選択し、更新するクラスターを選択します。選択すると、クラスターの詳細ページが開きます。このページの [プロパティ] タブは事前に選択されます。

  3. 「プロパティ」タブの「ネットワーク」で、EC2セキュリティグループ (ファイアウォール) の横にある矢印を選択して、このセクションを展開します。 [プライマリノード] で、セキュリティグループリンクを選択します。次のステップを完了したら、オプションでこのステップに戻り、コアノードとタスクノード を選択し、次のステップを繰り返して、コアノードとタスクノードへのSSHクライアントアクセスを許可します。

  4. これにより、EC2 コンソールが開きます。[Inbound rules] (インバウンドルール) タブを選択し、[Edit inbound rules] (インバウンドルールの編集) を選択します。

  5. 次の設定で、パブリックアクセスを許可するインバウンドルールを確認します。存在する場合は、[Delete] (削除) をクリックして削除します。

    • タイプ

      SSH

    • [ポート]

      22

    • ソース

      Custom 0.0.0.0/0

    警告

    2020 年 12 月以前は、 ElasticMapReduce-master セキュリティグループには、すべてのソースからのインバウンドトラフィックをポート 22 で許可する事前設定済みのルールがありました。このルールは、マスターノードへの初期SSH接続を簡素化するために作成されました。このインバウンドルールを削除して、信頼できる送信元のみにトラフィックを制限することを強くお勧めします。

  6. ルールのリストの下部までスクロールし、[Add Rule] (ルールの追加) を選択します。

  7. タイプ で、 を選択しますSSH。を選択すると、プロトコル TCPには 、ポート範囲 には 22 SSHが自動的に入力されます。

  8. [source] (送信元) には、[My IP] (マイ IP) を選択して、IP アドレスを送信元アドレスとして自動的に追加します。[Custom] (カスタム) で信頼済みクライアントの IP アドレスの範囲を追加することも、他のクライアントに追加のルールを作成することもできます。多くのネットワーク環境では IP アドレスを動的に割り当てるため、将来的に信頼済みクライアントの IP アドレスを更新することが必要になる場合があります。

  9. [Save] を選択します。

  10. オプションで、リストから Core ノードとタスクノードを選択し、上記のステップを繰り返して、SSHクライアントがコアノードとタスクノードにアクセスできるようにします。

を使用してクラスターに接続する AWS CLI

オペレーティングシステムに関係なく、 を使用してクラスターSSHへの接続を作成できます AWS CLI。

を使用してクラスターに接続し、ログファイルを表示するには AWS CLI
  1. 次のコマンドを使用して、クラスターSSHへの接続を開きます。置換 <mykeypair.key> キーペアファイルのフルパスとファイル名を指定します。例えば、C:\Users\<username>\.ssh\mykeypair.pem と指定します。

    aws emr ssh --cluster-id <j-2AL4XXXXXX5T9> --key-pair-file <~/mykeypair.key>
  2. /mnt/var/log/spark に移動して、クラスターのマスターノード上の Spark ログにアクセスします。次に、その場所にあるファイルを表示します。マスターノード上の追加のログファイルのリストについては、「プライマリノードのログファイルを表示する」を参照してください。

    cd /mnt/var/log/spark ls

ステップ 3: Amazon EMRリソースをクリーンアップする

クラスターを終了する

クラスターに作業を送信し、PySpark アプリケーションの結果を確認したので、クラスターを終了できます。クラスターを終了すると、クラスターに関連付けられているすべての Amazon EMR料金と Amazon EC2インスタンスが停止します。

クラスターを終了すると、Amazon はクラスターに関するメタデータを 2 か月間無料でEMR保持します。アーカイブされたメタデータは、新しいジョブのためのクラスターのクローン作成や、参照目的でのクラスター設定への再アクセスに便利です。メタデータには、クラスターが S3 に書き込むデータや、クラスターHDFSの に保存されているデータは含まれません

注記

Amazon EMRコンソールでは、クラスターの終了後にリストビューからクラスターを削除することはできません。Amazon がメタデータEMRをクリアすると、終了したクラスターはコンソールから消えます。

Console
コンソールでクラスターを終了するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

  2. [クラスター] を選択し、終了するクラスターを選択します。

  3. [アクション] ドロップダウンメニューで、[クラスターの終了] を選択します。

  4. ダイアログボックスで、[終了] を選択します。クラスター設定によっては、終了に 5~10 分間かかる場合があります。Amazon EMRクラスターの使用方法の詳細については、「」を参照してくださいクラスターを終了する

CLI
を使用してクラスターを終了するには AWS CLI
  1. 次のコマンドを使用して、クラスターの終了プロセスを開始します。置換 <myClusterId> をサンプルクラスターの ID で指定します。このコマンドでは、出力は返されません。

    aws emr terminate-clusters --cluster-ids <myClusterId>
  2. クラスターの終了プロセスが進行中であることを確認するために、次のコマンドでクラスターのステータスを確認します。

    aws emr describe-cluster --cluster-id <myClusterId>

    以下は、 JSON 形式の出力例です。クラスターの StatusTERMINATING から TERMINATED に変わります。クラスター設定によっては、終了に 5~10 分間かかる場合があります。Amazon EMRクラスターの終了の詳細については、「」を参照してくださいクラスターを終了する

    { "Cluster": { "Id": "j-xxxxxxxxxxxxx", "Name": "My Cluster Name", "Status": { "State": "TERMINATED", "StateChangeReason": { "Code": "USER_REQUEST", "Message": "Terminated by user request" } } } }

S3 リソースを削除する

追加料金が発生しないように、Amazon S3 バケットを削除する必要があります。バケットを削除すると、このチュートリアル用のすべての Amazon S3 リソースが削除されます。バケットに含まれている内容は次のとおりです。

  • PySpark スクリプト

  • 入力データセット

  • 出力結果フォルダ

  • ログファイルフォルダ

PySpark スクリプトまたは出力を別の場所に保存した場合、保存されたファイルを削除するための追加の手順が必要になる場合があります。

注記

バケットを削除する前に、クラスターを終了する必要があります。そうしないと、バケットを空にできない可能性があります。

バケットを削除するには、「Amazon Simple Storage Service ユーザーガイド」の「S3 バケットを削除する方法」に従ってください。

次のステップ

これで、最初の Amazon EMRクラスターを最初から最後まで起動できました。また、ビッグデータアプリケーションの準備と送信、結果の表示、クラスターの終了などの重要なEMRタスクも完了しました。

Amazon EMR ワークフローをカスタマイズする方法の詳細については、以下のトピックを参照してください。

Amazon のビッグデータアプリケーションを調べる EMR

「Amazon EMRリリースガイド」の「クラスターにインストールできるビッグデータアプリケーションを検出して比較する」。リリースガイドには、各EMRリリースバージョンの詳細と、Amazon で Spark や Hadoop などのフレームワークを使用するためのヒントが記載されていますEMR。

クラスターのハードウェア、ネットワーク、およびセキュリティを計画する

このチュートリアルでは、高度なオプションを設定せずにシンプルなEMRクラスターを作成しました。高度なオプションを使用すると、Amazon EC2インスタンスタイプ、クラスターネットワーク、クラスターセキュリティを指定できます。要件を満たすクラスターの計画と起動に関する詳細は、「クラスターの計画と設定」と「Amazon のセキュリティ EMR」を参照してください。

クラスターを管理する

クラスターを管理する」で、実行中のクラスターの操作について詳しく説明しています。クラスターを管理するために、クラスターに接続し、ステップをデバッグし、クラスターのアクティビティと状態を追跡できます。EMR マネージドスケーリング を使用して、ワークロードの需要に応じてクラスターリソースを調整することもできます。

別のインターフェースを使用する

Amazon EMRコンソールに加えて、、ウェブサービス AWS Command Line Interface、APIまたはサポートされている多数の のいずれかEMRを使用して Amazon を管理できます AWS SDKs。詳細については、「管理インターフェイス」を参照してください。

Amazon EMRクラスターにインストールされているアプリケーションは、さまざまな方法で操作することもできます。Apache Hadoop のようないくつかのアプリケーションでは、表示可能なウェブインターフェイスを公開しています。詳細については、「Amazon EMRクラスターでホストされているウェブインターフェイスを表示する」を参照してください。

EMR テクニカルブログを参照する

Amazon の新機能のサンプルチュートリアルと詳細な技術的説明についてはEMR、 AWS ビッグデータブログ を参照してください。