AWS Glue インタラクティブセッションでの Spark Connect の使用
Apache Spark Connect
Spark Connect は AWS Glue バージョン 5.1 以降でネイティブにサポートされています。PySpark remote() API をサポートする環境から直接 AWS Glue インタラクティブセッションに接続できます。
セッションタイプの比較: Livy と Spark Connect
AWS Glue インタラクティブセッションは 2 つのセッションタイプをサポートしています。次の表は、Livy ベースのセッションと Spark Connect セッションを比較したものです。
| 機能 | Livy | Spark Connect |
|---|---|---|
プロトコル |
REST |
gRPC (論理実行プランを送信するため) + Apache Arrow (結果をストリーミングするため) |
接続方法 |
ステートメント API ( |
PySpark |
クライアント要件 |
カーネルまたは AWS SDK 向けの |
Spark Connect に対応した PySpark |
IDE サポート |
SparkMagic カーネルを使用した Jupyter 経由 |
VS Code、PyCharm などの Python インタープリタを使用した SageMaker Unified Studio 上のノートブックまたは IDE |
Spark Connect を使用するタイミング
開発環境から AWS Glue インタラクティブセッションへのプログラムによる直接アクセスが必要な場合は、Spark Connect セッションを使用します。一般的なユースケースは次のとおりです。
-
SageMaker Unified Studio の Notebooks – ノートブック環境から直接 AWS Glue インタラクティブセッションに接続して、インタラクティブなデータ探索を行います。
-
VS Code や PyCharm などの IDE – 任意の IDE の PySpark を使用して、リモート AWS Glue クラスターに対して Spark アプリケーションを開発およびテストします。
-
Python スクリプトとアプリケーション – PySpark
remote()API を使用する Python アプリケーションからプログラムで AWS Glue インタラクティブセッションにアクセスします。
リージョンの可用性
Spark Connect の AWS Glue インタラクティブセッションは、次の AWS リージョンで利用できます。
アジアパシフィック (ムンバイ)
アジアパシフィック (ソウル)
アジアパシフィック (シンガポール)
アジアパシフィック (シドニー)
アジアパシフィック (東京)
カナダ (中部)
欧州 (フランクフルト)
欧州 (アイルランド)
欧州 (ロンドン)
欧州 (パリ)
欧州 (ストックホルム)
南米 (サンパウロ)
米国東部(オハイオ)
米国東部 (バージニア北部)
米国西部 (オレゴン)
考慮事項と制限事項
AWS Glue インタラクティブセッションで Spark Connect を使用する場合は、次の点を考慮してください。
-
Spark Connect は、AWS Glue バージョン 5.1 以降を実行する AWS Glue インタラクティブセッションで使用できます。
-
ステートメント API (
RunStatement、CancelStatement、GetStatement、ListStatements) は、Spark Connect セッションではサポートされていません。PySpark クライアントを介してセッションを直接操作します。 -
セッションの作成後にセッションタイプを変更することはできません。Livy と Spark Connect を切り替えるには、新しいセッションを作成する必要があります。
-
Spark Connect は AWS Glue Studio ではサポートされていません。AWS Glue を使用したインタラクティブな開発では、SageMaker Unified Studio の Notebooks、または Python インタープリタを使用する任意の IDE を使用できます。
-
Lake Formation によるきめ細かなアクセスコントロールは、Spark Connect セッションではサポートされていません。