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 打包结构:

显示高级 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 库(包括 connectorcoresnowparkml),以便您通过 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,请参阅以下主题中的说明:

  1. 安装库

  2. 连接到 Snowflake

有关如何开始使用 Snowflake Python APIs 的教程,请参阅 教程:Snowflake Python APIs 入门

支持的 Python 版本

受支持的 Python 版本包括:

  • 3.9

  • 3.10

  • 3.11

开发者指南

指南

描述

安装 Snowflake Python APIs 库

安装 Snowflake Python APIs 包。

使用 Snowflake Python APIs 连接到 Snowflake

通过 Python 代码连接到 Snowflake。

使用 Python 管理 Snowflake 账户和托管账户

使用 API 创建和管理账户以及托管账户。

使用 Python 管理 Snowflake 警报

使用 API 创建和管理警报。

用 Python 管理数据加载和卸载资源

使用 API 创建和管理数据加载和卸载资源,包括外部卷、管道和暂存区。

使用 Python 管理 Snowflake 数据库、架构、表和视图

使用 API 创建和管理数据库、架构和表。

使用 Python 管理 Snowflake 动态表

使用 API 创建和管理动态表。

使用 Python 管理 Snowflake 函数和存储过程

使用 API 创建和管理用户定义函数 (UDFs) 和存储过程。

使用 Python 管理 Snowflake 集成

使用 API 创建和管理目录集成和通知集成。

使用 Python 管理 Snowflake 网络策略

使用 API 创建和管理网络策略。

使用 Python 管理 Snowflake Notebooks

使用 API 创建和管理 Snowflake Notebooks。

使用 Python 管理 Snowpark Container Services(包括服务函数)

使用 API 管理 Snowpark Container Services 的组件,包括计算池、镜像仓库、服务和服务函数。

用 Python 管理 Snowflake 流

使用 API 创建和管理流。

使用 Python 管理 Snowflake 任务和任务图

使用 API 创建、执行和管理任务和任务图。

使用 Python 管理 Snowflake 用户、角色和授权

使用 API 创建和管理用户、角色和授权。

用 Python 管理 Snowflake 虚拟仓库

使用 API 创建和管理虚拟仓库。

引用

Snowflake Python APIs 引用

Snowflake 访问费用

为降低使用 credit 和网络活动的成本,Snowflake Python APIs 被设计为仅在您调用旨在与 Snowflake 同步的方法时才与 Snowflake 通信。

API 中的对象要么是本地引用(或 句柄),要么是存储在 Snowflake 上的状态快照。通常,当您处理从 Snowflake 检索到的信息时,您将通过本地的内存引用对象进行处理。

调用方法前,这些引用不与 Snowflake 同步。调用方法时,通常会产生使用 credit 和网络活动费用。相比之下,当您使用内存引用时,例如访问属性时,您的工作是在本地执行的,不会产生任何费用。

语言: 中文