使用 Snowpark Connect for Spark 在 Snowflake 上运行 Spark 工作负载¶
使用 Snowpark Connect for Spark,您可以将现有 Spark 工作负载直接连接到 Snowflake,然后在 Snowflake 计算引擎上运行。Snowpark Connect for Spark 支持在 Snowflake 上使用 Spark DataFrame API (https://spark.apache.org/docs/latest/sql-programming-guide.html)。所有工作负载都在 Snowflake 仓库上运行。因此,您可以运行 PySpark 数据帧代码,并获得 Snowflake 引擎的所有优势。
在 Apache Spark™ 3.4 版中,Apache Spark 社区引入了 Spark Connect。它具有解耦的客户端-服务器架构,将用户的代码与完成工作的 Spark 集群分离开来。这种新架构使 Snowflake 可以为 Spark 作业提供支持。
您可以 使用自己熟悉的客户端工具进行开发。
Snowpark Connect for Spark 提供以下优势:
解耦客户端和服务器,让 Spark 代码可以在 Snowflake 计算引擎上远程运行,您不需要管理 Spark 集群。
让团队能够使用其现有生态系统来编写和编排 Spark 工作负载,例如 Jupyter 笔记本、VS Code 和 Airflow。
允许您在迁移或更改最少的前提下重复使用开源 Spark 数据帧和 Spark SQL 代码。
提供一种精简的方式,将 Snowflake 的治理、安全性和可扩展性集成到基于 Spark 的工作流中,并以 Snowflake 的下推优化支持熟悉的 PySpark 体验。
允许您任意使用多种语言,包括 PySpark 和 Spark SQL。
开始使用 Snowpark Connect for Spark¶
要开始使用 Snowpark Connect for Spark,请按照以下步骤操作:
设置客户端工具,以开发将在 Snowflake 上运行的 Spark 工作负载。
例如,您可以使用 Snowflake 笔记本 或 其他工具。
使用 Snowpark Submit 异步运行 Spark 工作负载。
有关更多信息,请参阅 使用 Snowpark Submit 运行 Spark 批处理工作负载。
了解 Snowpark Connect for Spark 对 Spark 具体细节的支持。
有关更多信息,请参阅 Snowpark Connect for Spark 兼容性指南。
在 Snowflake 上开发和运行 Spark 工作负载¶
您可以使用熟悉的开发工具来开发在 Snowflake 上运行的 Spark 工作负载,然后使用 Snowpark Submit 命令行工具,以批量方式运行这些工作负载。
您可以使用本地工具进行交互式开发。
使用 Snowflake 笔记本:doc:` 等工具 </developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`,您可以开发 Spark 工作负载。您可以使用 Snowflake 进行身份验证、启动 Spark 会话并运行 PySpark 代码来加载、转换和分析数据。
您可以使用熟悉的 Spark 语义,直接在 Snowflake 基础设施上运行非交互式异步 Spark 工作负载。
借助 Snowpark Submit,您可以使用简单易用的 CLI 界面和工具(包括 Airflow),提交可用于生产的 Spark 应用程序。
有关更多信息,请参阅 使用 Snowpark Submit 运行 Spark 批处理工作负载。