Snowflake Python APIs:使用 Python 管理 Snowflake 对象¶
Snowflake Python APIs 包是一个统一的库,可将 Python 与 Snowflake 工作负载无缝连接。它旨在使用一流的 Python API 为跨数据工程、Snowpark、Snowpark ML 和应用程序工作负载与 Snowflake 资源的交互提供全面的 APIs。
可使用 Snowflake Python APIs 通过创建、删除或修改等方式来管理 Snowflake 资源。可使用 Python 来执行可能使用 Snowflake SQL 命令 执行的任务。
下图显示了高级 Snowflake Python APIs 打包结构:
要了解有关 API 的更多信息,包括其一般概念和设计模式,请参阅 Snowflake Python APIs:一般概念。
支持的 Snowflake 资源对象¶
备注
API 参考文档 反映了最新版本的 Snowflake Python APIs。请注意,目前 API 中的所有资源 并不 都提供其等效 SQL 命令 的 100% 覆盖,但 Python APIs 正在积极开发中,并且正在不断扩大其功能范围。
您目前可使用 Snowflake Python APIs 管理以下 Snowflake 资源对象:
Snowflake 中的 Python 生态系统¶
Snowflake Python APIs、Snowpark API for Python 以及 Snowflake Connector for Python 是 Snowflake 中有不同用途的接口。本部分解释它们的区别并描述各自的典型用例。
- Snowflake Python APIs
您可以使用这套一流的 Python APIs 来定义和管理 Snowflake 工作负载中的核心资源(如表、仓库和任务)。与 Python Connector 不同,这些 APIs 使用原生 Python 与 Snowflake 交互,而无需使用 SQL。
Snowflake Python APIs 包统一了所有 Snowflake Python 库(包括
connector
、core
、snowpark
和ml
),以便您通过pip install snowflake
命令即可轻松开始使用。按照声明式编程方法,此 API 可以用作 DevOps 工具来管理对资源的更改并自动化 Snowflake 中的代码和基础设施部署。
- Snowpark
这套库和代码执行环境可以在 Snowflake 中的数据旁边运行 Python 和其他编程语言。
库:通过 Snowpark API,您可以在代码中使用 Snowpark DataFrames 来完全在 Snowflake 内部查询和转换数据。Snowpark 应用程序直接在 Snowflake 引擎上大规模处理您的数据,无需将数据移动到应用程序代码运行的系统中。
Snowpark API 支持 Python、Java 和 Scala。
代码执行环境:Snowpark 运行时环境支持容器映像和 Python、Java 和 Scala 代码。
您可以通过 Python 用户定义函数 (UDFs) 执行自定义 Python 代码或存储过程来构建数据管道、应用程序等。Python 运行时环境可以访问 Anaconda 中的包存储库和包管理器。
运行时环境也支持 Scala 和 Java。
您可以使用 Snowpark Container Services 直接在 Snowflake 中运行容器化应用程序。
- Snowflake Connector for Python
使用该 SQL 驱动程序连接到 Snowflake,执行 SQL 语句,然后使用 Python 客户端获取结果。
通过 Python Connector,您可以使用 SQL 语句字符串编写与 Snowflake 的所有交互。
Snowflake Python APIs 入门¶
要开始使用 Snowflake Python APIs,请参阅以下主题中的说明:
有关如何开始使用 Snowflake Python APIs 的教程,请参阅 教程:Snowflake Python APIs 入门。
支持的 Python 版本¶
受支持的 Python 版本包括:
3.9
3.10
3.11
开发者指南¶
指南 |
描述 |
---|---|
安装 Snowflake Python APIs 包。 |
|
通过 Python 代码连接到 Snowflake。 |
|
使用 API 创建和管理账户以及托管账户。 |
|
使用 API 创建和管理警报。 |
|
使用 API 创建和管理数据加载和卸载资源,包括外部卷、管道和暂存区。 |
|
使用 API 创建和管理数据库、架构和表。 |
|
使用 API 创建和管理动态表。 |
|
使用 API 创建和管理用户定义函数 (UDFs) 和存储过程。 |
|
使用 API 创建和管理目录集成和通知集成。 |
|
使用 API 创建和管理网络策略。 |
|
使用 API 创建和管理 Snowflake Notebooks。 |
|
使用 API 管理 Snowpark Container Services 的组件,包括计算池、镜像仓库、服务和服务函数。 |
|
使用 API 创建和管理流。 |
|
使用 API 创建、执行和管理任务和任务图。 |
|
使用 API 创建和管理用户、角色和授权。 |
|
使用 API 创建和管理虚拟仓库。 |
引用¶
Snowflake 访问费用¶
为降低使用 credit 和网络活动的成本,Snowflake Python APIs 被设计为仅在您调用旨在与 Snowflake 同步的方法时才与 Snowflake 通信。
API 中的对象要么是本地引用(或 句柄),要么是存储在 Snowflake 上的状态快照。通常,当您处理从 Snowflake 检索到的信息时,您将通过本地的内存引用对象进行处理。
调用方法前,这些引用不与 Snowflake 同步。调用方法时,通常会产生使用 credit 和网络活动费用。相比之下,当您使用内存引用时,例如访问属性时,您的工作是在本地执行的,不会产生任何费用。