Snowflake Python APIs 教程的常用设置

简介

本主题说明本文档中提供的所有 Snowflake Python APIs 教程所需的通用设置。

Snowflake Python APIs 概述

在开始设置之前,查看一下 Snowflake Python APIs 结构。下表列出了 API 中的一些常用模块:

模块:

描述

snowflake.core

定义一个迭代器,用于表示从 Snowflake 数据库提取的某些资源实例。

snowflake.core.database

管理 Snowflake 数据库。

snowflake.core.schema

管理 Snowflake 架构。

snowflake.core.table

管理 Snowflake 表。

snowflake.core.task

管理 Snowflake 任务。

snowflake.core.task.dagv1

snowflake.core.task 中比任务 APIs 更高级别的一组 APIs,可以更方便地管理任务图 (DAGs)。

snowflake.core.compute_pool

在 Snowpark Container Services 中管理计算池。

snowflake.core.image_repository

在 Snowpark Container Services 中管理镜像仓库。

snowflake.core.service

在 Snowpark Container Services 中管理服务。

如需当前可用的 APIs 的完整列表,请参阅 API 参考文档

snowflake.core 模块代表用于管理 Snowflake 对象的核心 Snowflake Python APIs 的入口点。要使用 API,您需要遵循一种常见模式:

  1. 使用 Snowpark 或 Python Connector 连接建立会话,表示您与 Snowflake 的连接。

  2. 导入并实例化来自 snowflake.coreRoot 类,并将 Snowpark 会话对象作为实参传递。

    您使用所获得的 Root 对象,在 API 中访问其他方法和类型。

下面的代码提供了此模式的典型示例:

from snowflake.snowpark import Session
from snowflake.core import Root

session = Session.builder.configs(connection_params).create()
root = Root(session)
Copy

关于各种连接选项和属性的详细信息,请参阅 使用 Snowflake Python APIs 连接到 Snowflake

备注

Snowflake Python APIs 可使用 Snowpark 会话或 Python Connector 连接,建立与 Snowflake 的连接。前面的示例使用的是 Snowpark 会话。

继续执行下一步,开始设置 API 及您的开发环境!

安装 Snowflake Python APIs

重要

Snowflake Python APIs 目前支持以下 Python 版本:

  • 3.9

  • 3.10

  • 3.11

在安装 API 之前,您需要激活 Python 环境。

在本教程中,您可以使用 conda 或虚拟环境 (venv)。

  1. 若要创建并激活 conda 或虚拟环境,请打开命令行终端并运行以下命令:

    conda create -n <env_name> python==3.10
    conda activate <env_name>
    
    Copy
  2. Snowflake Python APIs 包在 PyPI 中可用。

    若要在新的 conda 或虚拟环境中安装 API 包,运行以下命令:

    pip install snowflake -U
    
    Copy

设置开发环境

本教程介绍可在 Jupyter 笔记本中运行的代码示例。本教程中的各个步骤循序渐进地展示了 Snowflake Python APIs 的功能。

首先设置您的开发环境,以便在笔记本中运行代码示例。

  1. 使用以下连接参数创建名为 $HOME/.snowflake/connections.toml 的文件,并使用您的真实凭据对其进行更新:

    [default]
    account = "<YOUR ACCOUNT NAME>"
    user = "<YOUR ACCOUNT USER>"
    password = "<YOUR ACCOUNT USER PASSWORD>"
    # optional
    # warehouse = "<YOUR COMPUTE WH>"
    # optional
    # database = "<YOUR DATABASE>"
    # optional
    # schema = "<YOUR SCHEMA>"
    
    Copy

    备注

    account 参数 支持带下划线的 账户标识符。您必须指定一个用短划线代替下划线的账户标识符。有关更多信息,请参阅 组织中的账户名称

    此示例通过创建名为 default 的连接定义,将这些参数指定为您环境中的 Snowflake 的默认连接。

  2. 使用如下方法之一打开笔记本:

    • 在支持 Jupyter 笔记本的代码编辑器(例如 Visual Studio Code)中打开一个新笔记本。

    • 若要在浏览器中打开笔记本,请使用 jupyter notebook 命令启动笔记本服务器。

      为了确保您的环境可以运行笔记本,在启动笔记本服务器之前,请在您的终端中运行 conda install notebook

  3. 在笔记本的第一个单元格中,运行以下导入语句:

    from datetime import timedelta
    
    from snowflake.snowpark import Session
    from snowflake.snowpark.functions import col
    from snowflake.core import Root, CreateMode
    from snowflake.core.database import Database
    from snowflake.core.schema import Schema
    from snowflake.core.stage import Stage
    from snowflake.core.table import Table, TableColumn, PrimaryKey
    from snowflake.core.task import StoredProcedureCall, Task
    from snowflake.core.task.dagv1 import DAGOperation, DAG, DAGTask
    from snowflake.core.warehouse import Warehouse
    
    Copy

    备注

    运行此单元格后,系统可能会提示您设置 Python 内核。如果您已激活 conda 环境,请选择 conda 作为 Python 内核(例如类似于这种形式:~/miniconda3/envs/<your conda env>/bin/python)。

    在此单元格中,导入 Snowpark 和管理 Snowflake 对象的核心 APIs。

  4. 请在下一个单元格中,运行以下代码:

    connection_params = {
        "connection_name": "default"
    }
    
    Copy

    在此单元格中,您可以通过创建 connection_params 字典,并指定先前配置的名为 default 的连接定义来为会话设置 Snowflake 连接参数。

  5. 要与 Snowflake 建立连接,请创建一个 Snowpark 会话并将 connection_params 作为实参传递:

    session = Session.builder.configs(connection_params).create()
    
    Copy
  6. 要创建 Root 对象,请将 session 对象传递给 Root 构造函数:

    root = Root(session)
    
    Copy

这样就搞定了!通过运行这四个单元格中的代码,您现在可以使用 Snowflake Python APIs 了。

下一步是什么?

现在,您可以探索 教程 1:创建数据库、架构、表和仓库 了。

语言: 中文