EMR Studio を使用して EMR Serverless でインタラクティブワークロードを実行する - Amazon EMR

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

EMR Studio を使用して EMR Serverless でインタラクティブワークロードを実行する

EMR Serverless インタラクティブアプリケーションを使用することにより、EMR Studio でホストされているノートブックを使用して、EMR Serverless で Spark のインタラクティブワークロードを実行します。

概要:

インタラクティブアプリケーションは、インタラクティブ機能が有効になっている EMR Serverless アプリケーションです。Amazon EMR Serverless インタラクティブアプリケーションを使用すると、Amazon EMR Studio で管理されている Jupyter ノートブックを使用してインタラクティブワークロードを実行できます。これにより、データエンジニア、データサイエンティスト、データアナリストは EMR Studio を使用して、Amazon S3 や Amazon DynamoDB などのデータストア内のデータセットでインタラクティブな分析を実行できます。

EMR Serverless のインタラクティブアプリケーションのユースケースには、次のものがあります。

  • データエンジニアは、EMR Studio の IDE エクスペリエンスを使用して ETL スクリプトを作成します。スクリプトはオンプレミスからデータを取り込み、分析のためにデータを変換し、Amazon S3 にデータを保存します。

  • データサイエンティストはノートブックを使用してデータセットを調べ、データセットの異常を検出するように機械学習 (ML) モデルをトレーニングします。

  • データアナリストはデータセットを調査し、ビジネスダッシュボードなどのアプリケーションを更新する日次レポートを生成するスクリプトを作成します。

前提条件

EMR Serverless でインタラクティブワークロードを使用するには、次の要件を満たします。

  • EMR Serverless インタラクティブアプリケーションは、Amazon EMR 6.14.0 以降でサポートされています。

  • インタラクティブアプリケーションにアクセスし、送信するワークロードを実行し、EMR Studio からインタラクティブノートブックを実行するには、特定のアクセス許可とロールが必要です。詳細については、インタラクティブワークロードに必要なアクセス許可 を参照してください。

インタラクティブワークロードに必要なアクセス許可

EMR Serverless へのアクセスに必要な基本的なアクセス許可に加えて、IAM ID またはロールに追加のアクセス許可を設定します。

インタラクティブアプリケーションにアクセスするには

EMR Studio のユーザーアクセス許可と Workspace アクセス許可を設定します。詳細については、「Amazon EMR 管理ガイド」の「Configure EMR Studio user permissions」を参照してください。

EMR Serverless で送信するワークロードを実行するには

ジョブのランタイムロールを設定する 詳細については、ジョブランタイムロールを作成する を参照してください。

EMR Studio からインタラクティブノートブックを実行するには

Studio ユーザーの IAM ポリシーに次の権限を追加します。

  • emr-serverless:AccessInteractiveEndpoints - Resource として指定したインタラクティブアプリケーションにアクセスして接続するためのアクセス許可を付与します。このアクセス許可は、EMR Studio Workspace から EMR Serverless アプリケーションにアタッチするために必要です。

  • iam:PassRole - アプリケーションにアタッチするときに使用する予定の IAM 実行ロールにアクセスするためのアクセス許可を付与します。EMR Studio Workspace から EMR Serverless アプリケーションにアタッチするには、適切な PassRole アクセス許可が必要です。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EMRServerlessInteractiveAccess", "Effect": "Allow", "Action": [ "emr-serverless:AccessInteractiveEndpoints" ], "Resource": [ "arn:aws:emr-serverless:*:123456789012:/applications/*" ] }, { "Sid": "EMRServerlessRuntimeRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/EMRServerlessInteractiveRole" ], "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }

インタラクティブアプリケーションの設定

以下の概略的な手順を使用して、 AWS マネジメントコンソールの Amazon EMR Studio のインタラクティブ機能を備えた EMR Serverless アプリケーションを作成します。

  1. Amazon EMR Serverless の使用を開始する の手順に従ってアプリケーションを作成します。

  2. 次に、EMR Studio からワークスペースを起動し、コンピューティングオプションとして EMR Serverless アプリケーションにアタッチします。詳細については、EMR Serverless Getting Started ドキュメントのステップ 2 のインタラクティブワークロードタブを参照してください。

Studio Workspace にアプリケーションをアタッチすると、まだ実行されていない場合、アプリケーションは自動的にトリガーを開始します。また、アプリケーションを事前に起動し、ワークスペースにアタッチする前に準備しておくこともできます。

インタラクティブアプリケーションの考慮事項

  • EMR Serverless インタラクティブアプリケーションは、Amazon EMR 6.14.0 以降でサポートされています。

  • EMR Studio は、EMR Serverless インタラクティブアプリケーションと統合されている唯一のクライアントです。EMR Serverless インタラクティブアプリケーションでは、Workspace コラボレーション、SQL Explorer、ノートブックのプログラムによる実行などの EMR Studio 機能はサポートされていません。

  • インタラクティブアプリケーションは Spark エンジンでのみサポートされています。

  • インタラクティブアプリケーションは、Python 3、PySpark、Spark Scala カーネルをサポートしています。

  • 1 つのインタラクティブアプリケーションで最大 25 個のノートブックを同時に実行できます。

  • インタラクティブアプリケーションでセルフホスト Jupyter ノートブックをサポートするエンドポイントや API インターフェイスはありません。

  • 起動エクスペリエンスを最適化するには、ドライバーとエグゼキューターの事前初期化された容量を設定し、アプリケーションを事前に起動することを提案します。アプリケーションを事前に起動する場合は、Workspace にアタッチする際に準備が整っていることを確認します。

    aws emr-serverless start-application \ --application-id your-application-id
  • デフォルトでは、autoStopConfig はアプリケーションに対して有効になっています。これにより、アイドル時間が 30 分経過するとアプリケーションがシャットダウンされます。この設定は、create-application または update-application リクエストの一部として変更できます。

  • インタラクティブアプリケーションを使用する場合は、ノートブックを実行するカーネル、ドライバー、エグゼキューターの事前に初期化された容量を設定することを提案します。Spark インタラクティブセッションごとに 1 つのカーネルと 1 つのドライバーが必要なため、EMR Serverless は、事前に初期化されたドライバーごとに、事前に初期化されたカーネルワーカーを維持します。デフォルトでは、EMR Serverless は、ドライバーに事前初期化された容量を指定しない場合でも、アプリケーション全体で 1 つのカーネルワーカーの事前初期化された容量を維持します。各カーネルワーカーは 4 つの vCPU と 16 GB のメモリを使用します。現在の料金については、Amazon EMR の料金ページを参照してください。

  • インタラクティブワークロードを実行する AWS アカウント には、 に十分な vCPU サービスクォータが必要です。Lake Formation 対応のワークロードを実行しない場合は、少なくとも 24 個の vCPU を提案します。その場合、少なくとも 28 個の vCPU を提案します。

  • EMR Serverless は、60 分を超える時間アイドル状態になっている場合に、ノートブックからカーネルを自動的に終了します。EMR Serverless は、ノートブックセッション中に完了した最後のアクティビティからカーネルアイドル時間を計算します。現在、カーネルアイドルタイムアウト設定を変更することはできません。

  • インタラクティブワークロードで Lake Formation を有効にするには、EMR Serverless アプリケーション を作成するときに、runtime-configuration オブジェクトの spark-defaults 分類で設定 spark.emr-serverless.lakeformation.enabledtrue に設定します。詳細については、「Enabling Lake Formation in Amazon EMR」を参照してください。