View a markdown version of this page

AWS Glue インタラクティブセッションでの Spark Connect の使用 - AWS Glue

AWS Glue インタラクティブセッションでの Spark Connect の使用

Apache Spark Connect では、アプリケーションを Spark ドライバープロセスから分離する、デカップリングされたクライアント/サーバーアーキテクチャが導入されています。Spark Connect を使用すると、AWS Glue インタラクティブセッションは、より高速に開始し、より少ないローカルリソースを使用し、PySpark DataFrame および SQL API とのネイティブな互換性を提供する軽量クライアントから恩恵を受けられます。任意のノートブックツールまたは IDE から AWS Glue インタラクティブセッションを使用できます。

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 (RunStatementCancelStatementGetStatementListStatements)

PySpark remote() API を使用したエンドポイント URL 経由の直接接続

クライアント要件

カーネルまたは AWS SDK 向けの aws-glue-sessions パッケージ

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 (RunStatementCancelStatementGetStatementListStatements) は、Spark Connect セッションではサポートされていません。PySpark クライアントを介してセッションを直接操作します。

  • セッションの作成後にセッションタイプを変更することはできません。Livy と Spark Connect を切り替えるには、新しいセッションを作成する必要があります。

  • Spark Connect は AWS Glue Studio ではサポートされていません。AWS Glue を使用したインタラクティブな開発では、SageMaker Unified Studio の Notebooks、または Python インタープリタを使用する任意の IDE を使用できます。

  • Lake Formation によるきめ細かなアクセスコントロールは、Spark Connect セッションではサポートされていません。