

# AWS Glue インタラクティブセッションでの Spark Connect の使用
<a name="interactive-sessions-spark-connect"></a>

 [Apache Spark Connect](https://spark.apache.org/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
<a name="is-spark-connect-comparison"></a>

 AWS Glue インタラクティブセッションは 2 つのセッションタイプをサポートしています。次の表は、Livy ベースのセッションと Spark Connect セッションを比較したものです。


| 機能 | Livy | Spark Connect | 
| --- | --- | --- | 
| プロトコル | REST | gRPC (論理実行プランを送信するため) \+ Apache Arrow (結果をストリーミングするため) | 
| 接続方法 | ステートメント API (`RunStatement`、`CancelStatement`、`GetStatement`、`ListStatements`) | 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 を使用するタイミング
<a name="is-spark-connect-use-cases"></a>

 開発環境から 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 インタラクティブセッションにアクセスします。

## リージョンの可用性
<a name="is-spark-connect-regions"></a>

Spark Connect の AWS Glue インタラクティブセッションは、次の AWS リージョンで利用できます。
+ アジアパシフィック (ムンバイ)
+ アジアパシフィック (ソウル)
+ アジアパシフィック (シンガポール)
+ アジアパシフィック (シドニー)
+ アジアパシフィック (東京)
+ カナダ (中部)
+ 欧州 (フランクフルト)
+ 欧州 (アイルランド)
+ 欧州 (ロンドン)
+ 欧州 (パリ)
+ 欧州 (ストックホルム)
+ 南米 (サンパウロ)
+ 米国東部(オハイオ)
+ 米国東部 (バージニア北部)
+ 米国西部 (オレゴン)

## 考慮事項と制限事項
<a name="is-spark-connect-limitations"></a>

 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 セッションではサポートされていません。