チュートリアル: Amazon EMR の使用開始 - Amazon EMR

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

チュートリアル: Amazon EMR の使用開始

Overview

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

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


				Amazon EMR のワークフロー図には、プランと設定、管理、クリーンアップの 3 つの主要なワークフローカテゴリの概要が記載されています。

Prerequisites

Cost

  • 作成するサンプルクラスターは、ライブ環境で実行されます。クラスターは最低限の料金を計上します。追加料金が発生しないようにするには、このチュートリアルの最後のステップでクリーンアップタスクを完了してください。料金は Amazon EMR 料金表の毎秒率で発生します。料金は、リージョンによっても異なります。詳細については、「」を参照してください。Amazon EMR の料金

  • Amazon S3 に保存する小さなファイルに対しては、最小限の料金が発生します。Amazon S3 の使用制限内であれば、課金の一部またはすべてが免除される可能性があります。AWS無料利用枠。詳細については、「」を参照してください。Amazon S3 の料金およびAWS無料利用枠

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

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

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

このチュートリアル用にバケットを作成するには、「」の手順に従います。S3 バケットを作成する方法Amazon Simle Storage Service Console User。バケットを同じAWSAmazon EMR クラスターを起動する予定のリージョン。たとえば、米国西部 (オレゴン) us-west-2 などです。

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

  • 名前は、小文字、数字、ピリオド (.)、ハイフン (-) で構成されます。

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

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

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

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

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

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

また、PySpark スクリプトで処理するためのサンプル入力データを Amazon S3 にアップロードします。入力データは、2006年から2020年までのワシントン州キング郡におけるHealth 省の検査結果の修正版である。詳細については、「」を参照してください。キング郡オープンデータ: 食品施設の検査データ。以下は、データセットのサンプル行です。

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

EMR 用のサンプルの PySpark スクリプトを準備するには

  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 クラスターを起動できます。このステップでは、Apache Spark クラスターを起動し、最新のAmazon EMR リリースバージョン

Console

を使用して Spark がインストールされたクラスターを起動するにはクイックオプション

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. 選択クラスターを作成するをクリックしてクイックオプションウィザード

  3. のデフォルト値に注意してくださいリリース,インスタンスタイプ,インスタンス数, およびアクセス許可クラスターの作成-クイックオプションページで. これらのフィールドは、汎用クラスターで動作する値で自動入力されます。の詳細については、「」を参照してください。クイックオプション構成設定の詳細については、クイックオプションの概要

  4. 「」と入力します。クラスター名クラスターを識別するのに役立ちます。たとえば、初めてのEMR クラスター

  5. 離れるログ記録が有効になっていますが、S3 フォルダの値を、作成した Amazon S3 バケットに置き換え、/logs。例えば、 。s3://DOC-EXAMPLE-BUCKET/logsAdd/logsは、バケットに「logs」という名前の新しいフォルダを作成します。ここで、EMR はクラスターのログファイルをコピーできます。

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

    注記

    クラスターを起動する前に、Amazon EMR クラスターに必要なアプリケーションを選択します。起動後、クラスターにアプリケーションを追加または削除することはできません。

  7. を選択します。EC2 key pair[]セキュリティとアクセス

  8. 選択クラスターを作成するをクリックしてクラスターを起動し、クラスターの状態ページを開きます。

  9. クラスターの検索ステータスクラスター名の横にあります。ステータスが [Starting実行中待機中ですAmazon EMR がクラスターをプロビジョニングするときに使用します。ステータスの更新を表示するには、右側にある更新アイコンを選択するか、ブラウザを更新する必要があります。

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

CLI

AWS CLI を使用し、Spark がインストールされたクラスターを起動するには

  1. 次のコマンドを使用して Spark クラスターを作成します。クラスターの名前を入力し、--nameオプションを使用し、EC2 key pair 名前を--ec2-attributesオプションを使用します。

    aws emr create-cluster \ --name "<My First EMR Cluster>" \ --release-label <emr-5.33.0> \ --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リファレンス

    注記

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

    次のような出力が表示されます。出力には、ClusterIdおよびClusterArn新しいクラスターの メモするClusterId。使用するClusterIdをクリックして、クラスターのステータスを確認し、作業を送信します。

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

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

    次のような出力が表示されます。Statusオブジェクトを使用します。

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

    -State値の変更STARTINGRUNNINGWAITINGAmazon EMR がクラスターをプロビジョニングするときに使用します。

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

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

Amazon EMR に作品を提出する

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

Console

コンソールを使用して Spark アプリケーションをステップとして送信するには

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. クラスターの名前を [クラスターのリスト。クラスタの状態は待機中です

  3. [Steps (ステップ)]、[Add step (ステップの追加)] の順に選択します。

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

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

    • を使用する場合名前で、デフォルト値のままにするか、新しい名前を入力します。クラスターに多数のステップがある場合は、各ステップに名前を付けることで追跡することができます。

    • を使用する場合DEプロイモードで、デフォルト値のままにします。クラスター。Spark デプロイメントモードの詳細については、クラスターモードの概要Apache Spark ドキュメントを参照してください。

    • [] を残すSpark-submitフィールドは空白のままにします の詳細spark-submitオプションについては、spark-submit を使用したアプリケーションの起動

    • を使用する場合アプリケーションの場所] で、health_violations.pyスクリプトAmazon S3。たとえば、s3: //DOC-EXAMPLE-BUCKET/health_violations.py

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

      --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で作成した入力データの S3 URI に置き換えます。Amazon EMR 用の入力データを使用してアプリケーションを準備する

      置換ドキュメントサンプルバケットこのチュートリアルで作成したバケットの名前に置き換え、MyOutputフォルダをクラスター出力フォルダの名前に置き換えます。

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

  5. 選択を追加します。をクリックしてステップを送信します。ステップは、コンソールにステータスがPending

  6. 変更元のステップステータスを確認しますPending実行中Completed。コンソールでステータスを更新するには、[フィルタ。スクリプトの実行には約 1 分かかります。

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

CLI

Spark アプリケーションをステップとして送信するにはAWS CLI

  1. あなたが持っていることを確認してくださいClusterIdで起動したクラスターのAmazon EMR クラスターを起動する。次のコマンドを使用して、クラスター ID を取得することもできます。

    aws emr list-clusters --cluster-states WAITING
  2. SUBhealth_violations.pyをステップとしてadd-stepsコマンドとClusterId

    • ステップの名前を指定するには、「私のスパークアプリケーション」。左Args配列、置換s3: //DOC-EXAMPLE-BUCKET/health_violations.pyの場所に置き換えます。health_violations.pyアプリケーションをデプロイします。

    • 置換s3: //DOC-EXAMPLE-BUCKET/food_establishment_data.csvの S3 の場所に置き換えます。food_establishment_data.csvデータセットに追加します。

    • 置換s3: //DOC-EXAMPLE-BUCKET/putfolderを、指定したバケットの 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から変更されるステップのPENDINGRUNNINGCOMPLETEDステップが実行されたとき。このステップの実行には約 1 分かかるため、ステータスを数回確認する必要がある場合があります。

ステップが成功したことを知っているのは、Stateの変更点COMPLETED

ステップのライフサイクルの詳細については、」データを処理するためのステップの実行

結果の表示

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

の結果を表示するにはhealth_violations.py

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. [バケット名 ステップを送信したときに指定した出力フォルダが表示されます。たとえば、ドキュメントサンプルバケットし、MyOutputフォルダ

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

    • と呼ばれる小さなサイズのオブジェクト_SUCCESS

    • 接頭辞で始まるCSVファイルpart-結果が含まれます。

  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 では、セキュアシェル (SSH) プロトコルを使用してクラスターに接続できます。このセクションでは、SSH の設定、クラスターへの接続、および Spark のログファイルの表示方法について説明します。クラスターへの接続の詳細については、「」を参照してください。Amazon EMR クラスターノードへの認証

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

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

ElasticMapReduce-master

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

ElasticMapReduce-slave

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

ElasticMapReduce-master セキュリティグループの信頼できるソースに対して SSH アクセスを許可するには

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

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. [Clusters] を選択します。

  3. [名前変更するクラスターの [] をクリックします。

  4. [マスターのセキュリティグループ[] リンクをクリックしてくださいセキュリティとアクセス

  5. リストから [ElasticMapReduce-master] を選択します。

  6. [インバウンドルールタブをクリックし、インバウンドのルールの編集

  7. 次の設定で、パブリックアクセスを許可する受信ルールを確認します。存在する場合は、削除をクリックして削除します。

    • タイプ

      SSH

    • ポート

      22

    • 送信元

      カスタム 0.0.0.0/0

    警告

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

  8. ルールのリストの下部までスクロールし、ルールの追加

  9. [Type (タイプ)] で、[SSH] を選択します。

    SSHの選択は自動的に入力されますTCPforプロトコルおよび22forポート範囲

  10. ソースには、マイ IPをクリックすると、IP アドレスがソースアドレスとして自動的に追加されます。また、の範囲を追加することもできます。Custom信頼されたクライアントの IP アドレスを設定するか、他のクライアント用の追加のルールを作成します。多くのネットワーク環境では IP アドレスが動的に割り当てられるため、将来、信頼できるクライアントの IP アドレスを更新する必要があります。

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

  12. 必要に応じて、ElasticMapReduce-slaveをリストから選択し、上記の手順を繰り返してコアノードおよびタスクノードへの SSH クライアントアクセスを許可します。

クラスターConnect するにはAWS CLI

オペレーティングシステムに関係なく、クラスターへの SSH 接続を作成するには、AWS CLI。

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

  1. クラスターへの SSH 接続を開くには、次のコマンドを使用します。置換<mykeypair.key>key pair ファイルのフルパスとファイル名に置き換えます。例えば、 。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 EMR はクラスターに関するメタデータを 2 か月間無料で保持します。アーカイブされたメタデータは、クラスタのクローンをクリックして新しいジョブを実行するか、参照目的でクラスタ構成を再訪してください。Metadata はないには、クラスターが S3 に書き込むデータ、またはクラスター上の HDFS に格納されたデータが含まれます。

注記

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

Console

コンソールを使用してクラスターを終了するには

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. 選択クラスター次に、終了するクラスターを選択します。たとえば、初めてのEMR クラスター

  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形式の出力例です。クラスタークラスターStatusから変更する必要がありますTERMINATINGTERMINATED。クラスター構成によっては、終了に 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 スクリプトまたは出力を別の場所に保存した場合は、保存されたファイルを削除するために追加の手順が必要になる場合があります。

注記

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

バケットを削除するには、「」の手順に従います。S3 バケットを削除する方法Amazon Simple Storage Service 入門ガイド

次のステップ

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

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

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

クラスタにインストールできるビッグデータアプリケーションをAmazon EMR リリース ガイド。リリースガイドでは、各 EMR リリースバージョンについて詳しく説明し、Amazon EMR で Spark や Hadoop などのフレームワークを使用するためのヒントが含まれています。

クラスタのハードウェア、ネットワーキング、セキュリティの計画

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

クラスターを管理する

で実行中のクラスターの操作についてさらに深く掘り下げるクラスターを管理する。クラスターを管理するには、クラスターに接続し、ステップをデバッグし、クラスターのアクティビティと正常性を追跡します。また、ワークロードの要求に応じてクラスタリソースを調整することもできます。EMR マネージドスケーリング

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

Amazon EMR コンソールに加えて、Amazon EMR を管理するには、AWS Command Line Interface、Web サービス API、またはサポートされているAWSSDK。詳細については、「管理インターフェイス」を参照してください。

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

EMR 技術ブログを閲覧

Amazon EMR の新機能のサンプルウォークスルーと詳細な技術説明については、AWSビッグデータブログ