翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 管理ガイド」の「EMR Studio ユーザーアクセス許可の設定」を参照してください。
- EMR Serverless で送信するワークロードを実行するには
-
ジョブのランタイムロールを設定する 詳細については、「ジョブランタイムロールを作成する」を参照してください。
- EMR Studio からインタラクティブノートブックを実行するには
-
Studio ユーザーの IAM ポリシーに次の権限を追加します。
-
emr-serverless:AccessInteractiveEndpoints-Resourceとして指定したインタラクティブアプリケーションにアクセスして接続するためのアクセス許可を付与します。このアクセス許可は、EMR Studio Workspace から EMR Serverless アプリケーションにアタッチするために必要です。 -
iam:PassRole- アプリケーションにアタッチするときに使用する予定の IAM 実行ロールにアクセスするためのアクセス許可を付与します。EMR Studio Workspace から EMR Serverless アプリケーションにアタッチするには、適切なPassRoleアクセス許可が必要です。
-
インタラクティブアプリケーションの設定
以下の概略的な手順を使用して、 AWS マネジメントコンソールの Amazon EMR Studio のインタラクティブ機能を備えた EMR Serverless アプリケーションを作成します。
-
Amazon EMR Serverless の使用を開始する の手順に従ってアプリケーションを作成します。
-
次に、EMR Studio からワークスペースを起動し、コンピューティングオプションとして EMR Serverless アプリケーションにアタッチします。詳細については、EMR Serverless 入門ドキュメントのステップ 2 の「インタラクティブワークロード」タブを参照してください。 https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-job-run-console
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-idyour-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.enabledをtrueに設定します。詳細については、「Amazon EMR での Lake Formation の有効化」を参照してください。