使用 Snowpark Connect for Spark 在 Snowflake 上运行 Apache Spark™ 工作负载¶
使用 Snowpark Connect for Apache 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 工作负载。
有关更多信息,请参阅 提交 Spark 应用程序。
了解 Snowpark Connect for Spark 对 Spark 具体细节的支持。
有关更多信息,请参阅 Snowpark Connect for Spark 兼容性指南。
在 Snowflake 上开发和运行 Spark 工作负载¶
You can use familiar development tools to develop Spark workloads that run on Snowflake, and then run those workloads in batches by using the Snowpark Submit command-line tool. For more information on which development clients are supported and how to use them, see Snowpark Connect for Spark 的开发客户端.
For interactive development, use tools such as Snowflake Notebooks or VS Code to develop Spark workloads. You can authenticate with Snowflake, start a Spark session, and run PySpark code to load, transform, and analyze data. For more information, see Snowpark Connect for Spark 的开发客户端.
For non-interactive batch workloads, you can run asynchronous Spark workloads directly on Snowflake's infrastructure while using familiar Spark semantics. Use Snowpark Submit to submit production-ready Spark applications using a simple CLI interface and using your tools, including Airflow. For more information, see 提交 Spark 应用程序.