为 Snowpark Python 设置开发环境

设置您首选的本地开发环境,以使用 Snowpark Python 构建客户端应用程序。

如果使用 Snowpark Python 编写存储过程,请考虑改为设置 Python 工作表

本主题内容:

先决条件

受支持的 Python 版本包括:

  • 3.8

  • 3.9

  • 3.10

  • 3.11

备注

Python 3.9 依赖于 Snowpark 客户端版本 1.5.0。Python 3.10 依赖于 Snowpark 客户端版本 1.5.1。Python 3.11 依赖于 Snowpark 客户端版本 1.9.0。

您可以使用 ` Anaconda <https://www.anaconda.com/ (https://www.anaconda.com/)>`_、` Miniconda <https://docs.conda.io/en/latest/miniconda.html (https://docs.conda.io/en/latest/miniconda.html)>`_ 或 ` virtualenv <https://docs.python.org/3/tutorial/venv.html (https://docs.python.org/3/tutorial/venv.html)>`_ 等工具为特定的 Python 版本创建 Python 虚拟环境。

例如,要使用 conda 创建 Python 3.8 虚拟环境,请添加 Snowflake conda 频道并安装 numpy 和 pandas 包,输入:

conda create --name py38_env --override-channels -c https://repo.anaconda.com/pkgs/snowflake python=3.8 numpy pandas pyarrow
Copy

建议使用 Snowflake 通道在本地创建新的 conda 环境,以便在使用 UDFs 时获得最佳体验。有关更多信息,请参阅 本地开发和测试

备注

由于 pyOpenSSL 中的内存处理,在 Apple M1 芯片上运行 Snowpark Python 存在已知问题。显示的错误消息是“Cannot allocate write+execute memory for ffi.callback()”。

作为解决方法,通过以下命令设置使用 x86 Python 的虚拟环境:

CONDA_SUBDIR=osx-64 conda create -n snowpark python=3.8 numpy pandas pyarrow --override-channels -c https://repo.anaconda.com/pkgs/snowflake
conda activate snowpark
conda config --env --set subdir osx-64
Copy

然后,按照下一节所述在此环境中安装 Snowpark。

使用 Pandas DataFrames 的先决条件

Snowpark API 提供向 Pandas 写入数据和从 Pandas DataFrames 写入数据的方法。` Pandas <https://pandas.pydata.org/ (https://pandas.pydata.org/)>`_ 是一个用于数据分析的库。在 Pandas 中,可以使用一种称为 DataFrame 的数据结构来分析和处理二维数据。

这些方法需要以下库:

  • Pandas 1.0.0(或更高版本)。

  • PyArrow 库 (https://arrow.apache.org/docs/python/) 版本 8.0.0。

备注

如果您已经安装了任意版本的 PyArrow 库(而不是上面列出的推荐版本),请在安装 Snowpark 之前卸载 PyArrow。

使用 Pip 安装 Snowpark 会自动安装相应版本的 PyArrow。如果您使用 Conda 安装 Snowpark,则必须在包列表中指定 pyarrow

安装 Snowpark 后,不要重新安装其他版本的 PyArrow。

安装说明

备注

在运行本节中的命令之前,请确保您处于支持的 Python 版本的 Python 环境中。您可以通过输入 python -V 命令来进行检查。如果显示的版本不是支持的版本,请参阅上一节。

使用 condapip 将 Snowpark Python 包安装到 Python 虚拟环境中。

conda install snowflake-snowpark-python
Copy

-或-

pip install snowflake-snowpark-python
Copy

(可选)指定要在环境中安装的包,例如 Pandas 数据分析包:

conda install snowflake-snowpark-python pandas pyarrow
Copy

-或-

pip install "snowflake-snowpark-python[pandas]"
Copy

您可以在 ` Python 包索引 (PyPi) 存储库 <https://pypi.org/project/snowflake-snowpark-python/ (https://pypi.org/project/snowflake-snowpark-python/)>`_ 中查看 Snowpark Python 项目描述。

为 Snowpark 设置 Jupyter Notebook

要开始将 Snowpark 与 Jupyter Notebooks 结合使用,请执行以下操作:

  1. 安装 Jupyter Notebooks:

    pip install notebook
    
    Copy
  2. 启动 Jupyter Notebook:

    jupyter notebook
    
    Copy
  3. 在打开的网页的右上角,选择 New » Python 3 Notebook

  4. 在单元格中,创建一个会话。有关更多信息,请参阅 创建会话

为 Snowpark 设置 IDE

您可以将 Snowpark 与集成开发环境 (IDE) 结合使用。

要将 Snowpark 与 Microsoft Visual Studio Code 结合使用,请 ` 安装 Python 扩展,然后指定要使用的 Python 环境 <https://code.visualstudio.com/docs/languages/python (https://code.visualstudio.com/docs/languages/python)>`_。

要在 VS Code 中使用创作和调试 Snowpark Python 存储过程的功能,请安装 Snowflake Extension for Visual Studio Code。该扩展程序使您能够连接到 Snowflake 并直接在 VS Code 中执行 SQL 语句。

重要

您必须手动选择在设置开发环境时创建的 Python 环境。要执行此操作,请使用 Command Palette 中的 Python: Select Interpreter 命令。有关更多信息,请参阅 Microsoft Visual Studio 文档中的“ ` 在 VS 代码中使用 Python 环境 <https://code.visualstudio.com/docs/python/environments (https://code.visualstudio.com/docs/python/environments)>`_ ”。

导入模块

Snowpark API 的主要类在 snowflake.snowpark 模块中。

要从模块导入特定名称,请指定名称。例如:

>>> from snowflake.snowpark.functions import avg
Copy
语言: 中文