View a markdown version of this page

将 Spark Connect 用于 AWS Glue 交互式会话 - AWS Glue

将 Spark Connect 用于 AWS Glue 交互式会话

Apache 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

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

功能 Livy Spark Connect

协议

REST

gRPC(发送逻辑执行计划)+ Apache Arrow(用于流式传输结果)

连接方法

Statement APIs (RunStatementCancelStatementGetStatementListStatements)

使用 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

当您需要通过开发环境直接以编程方式访问 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(RunStatementCancelStatementGetStatementListStatements)。您可以直接通过 Pyspark 客户端与会话进行交互。

  • 创建会话后无法更改会话类型。要在 Livy 和 Spark Connect 之间切换,您必须创建新的会话。

  • AWS Glue Studio 上不支持 Spark Connect。要使用 AWS Glue 进行交互式开发,您可以在 SageMaker Unified Studio 中使用笔记本,也可以将首选的 IDE 与 Python 解释器一起使用。

  • Spark Connect 会话不支持通过 Lake Formation 进行细粒度访问控制。