将 Spark Connect 用于 AWS Glue 交互式会话
Apache Spark Connect
AWS Glue 5.1 及以上版本原生支持 Spark Connect。您可以直接从支持 PySpark remote() API 的环境中连接到 AWS Glue 交互式会话。
比较会话类型:Livy 和 Spark Connect
AWS Glue 交互式会话支持两种会话类型。下表比较了基于 Live 的会话和 Spark Connect 会话。
| 功能 | Livy | Spark Connect |
|---|---|---|
协议 |
REST |
gRPC(发送逻辑执行计划)+ Apache Arrow(用于流式传输结果) |
连接方法 |
Statement APIs ( |
使用 PySpark |
客户端要求 |
|
支持 Spark Connect 的 PySpark |
IDE 支持 |
通过 Jupyter 和 SparkMagic 内核 |
SageMaker Unified Studio 或 IDE 上的笔记本,带有 VS Code、PyCharm 等 Python 解释器 |
何时使用 Spark Connect
当您需要通过开发环境直接以编程方式访问 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 交互式会话。
区域可用性
以下 AWS 区域提供与 Spark Connect 的 AWS Glue 交互式会话:
亚太地区(孟买)
亚太地区(首尔)
亚太地区(新加坡)
亚太地区(悉尼)
亚太地区(东京)
加拿大(中部)
欧洲地区(法兰克福)
欧洲地区(爱尔兰)
欧洲地区(伦敦)
欧洲地区(巴黎)
欧洲地区(斯德哥尔摩)
南美洲(圣保罗)
美国东部(俄亥俄州)
美国东部(弗吉尼亚州北部)
美国西部(俄勒冈州)
注意事项和限制
在将 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 进行细粒度访问控制。