

# 将 Spark Connect 用于 AWS Glue 交互式会话
<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 交互式会话。

 AWS Glue 5.1 及以上版本原生支持 Spark Connect。您可以直接从支持 PySpark `remote()` API 的环境中连接到 AWS Glue 交互式会话。

## 比较会话类型：Livy 和 Spark Connect
<a name="is-spark-connect-comparison"></a>

 AWS Glue 交互式会话支持两种会话类型。下表比较了基于 Live 的会话和 Spark Connect 会话。


| 功能 | Livy | Spark Connect | 
| --- | --- | --- | 
| 协议 | REST | gRPC（发送逻辑执行计划）\+ Apache Arrow（用于流式传输结果） | 
| 连接方法 | Statement APIs (`RunStatement`、`CancelStatement`、`GetStatement`、`ListStatements`) | 使用 PySpark `remote()` API 通过端点 URL 直接连接 | 
| 客户端要求 | `aws-glue-sessions` 内核软件包或 AWS SDK | 支持 Spark Connect 的 PySpark | 
| IDE 支持 | 通过 Jupyter 和 SparkMagic 内核 | SageMaker Unified Studio 或 IDE 上的笔记本，带有 VS Code、PyCharm 等 Python 解释器 | 

## 何时使用 Spark Connect
<a name="is-spark-connect-use-cases"></a>

 当您需要通过开发环境直接以编程方式访问 AWS Glue 交互式会话时，可以使用 Spark Connect 会话。以下是常见使用案例：
+ **SageMaker Unified Studio 中的笔记本电脑**–直接从笔记本环境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>

以下 AWS 区域提供与 Spark Connect 的 AWS Glue 交互式会话：
+ 亚太地区（孟买）
+ 亚太地区（首尔）
+ 亚太地区（新加坡）
+ 亚太地区（悉尼）
+ 亚太地区（东京）
+ 加拿大（中部）
+ 欧洲地区（法兰克福）
+ 欧洲地区（爱尔兰）
+ 欧洲地区（伦敦）
+ 欧洲地区（巴黎）
+ 欧洲地区（斯德哥尔摩）
+ 南美洲（圣保罗）
+ 美国东部（俄亥俄州）
+ 美国东部（弗吉尼亚州北部）
+ 美国西部（俄勒冈州）

## 注意事项和限制
<a name="is-spark-connect-limitations"></a>

 在将 Spark Connect 与 AWS Glue 交互式会话配合使用时，请考虑以下事项：
+ Spark Connect 适用于运行 AWS Glue 5.1版及更高版本的 AWS Glue 交互式会话。
+ Spark Connect 会话不支持 Statement API（`RunStatement`、`CancelStatement`、`GetStatement` 和 `ListStatements`）。您可以直接通过 Pyspark 客户端与会话进行交互。
+ 创建会话后无法更改会话类型。要在 Livy 和 Spark Connect 之间切换，您必须创建新的会话。
+ AWS Glue Studio 上不支持 Spark Connect。要使用 AWS Glue 进行交互式开发，您可以在 SageMaker Unified Studio 中使用笔记本，也可以将首选的 IDE 与 Python 解释器一起使用。
+ Spark Connect 会话不支持通过 Lake Formation 进行细粒度访问控制。