为 Snowpark Python 设置开发环境¶
设置您首选的本地开发环境,以使用 Snowpark Python 构建客户端应用程序。
如果使用 Snowpark Python 编写存储过程,请考虑改为设置 Python 工作表。
先决条件¶
受支持的 Python 版本包括:
3.9
3.10
3.11
3.12(预览版功能 – 现已面向所有账户开放。)
备注
Python 3.9 依赖于 Snowpark 客户端版本 1.5.0。Python 3.10 依赖于 Snowpark 客户端版本 1.5.1。Python 版本 3.11 和 3.12 依赖于 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) 等工具为特定的 Python 版本创建 Python 虚拟环境。
例如,要使用 conda 创建 Python 3.9 虚拟环境,请添加 Snowflake conda 通道并安装 numpy 和 Pandas 包,输入:
conda create --name py39_env --override-channels -c https://repo.anaconda.com/pkgs/snowflake python=3.9 numpy pandas pyarrow
建议使用 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.9 numpy pandas pyarrow --override-channels -c https://repo.anaconda.com/pkgs/snowflake
conda activate snowpark
conda config --env --set subdir osx-64
然后,按照下一节所述在此环境中安装 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
命令来进行检查。如果显示的版本不是支持的版本,请参阅上一节。
使用 conda
或 pip
将 Snowpark Python 包安装到 Python 虚拟环境中。
conda install snowflake-snowpark-python
-或-
pip install snowflake-snowpark-python
(可选)指定要在环境中安装的包,例如 Pandas 数据分析包:
conda install snowflake-snowpark-python pandas pyarrow
-或-
pip install "snowflake-snowpark-python[pandas]"
您可以在 ` Python 包索引 (PyPi) 存储库 <https://pypi.org/project/snowflake-snowpark-python/ (https://pypi.org/project/snowflake-snowpark-python/)>`_ 中查看 Snowpark Python 项目描述。
为 Snowpark 设置 Snowflake Notebooks¶
您可以使用 Snowflake Notebooks 开发环境,以使用 Python 执行数据科学和数据工程工作流程。Snowflake Notebooks 预装了 Snowpark for Python。
有关开始使用 Snowflake Notebooks 的更多信息,请参阅 开始使用 Snowflake Notebooks。
有关设置 Snowflake Notebooks 的更多信息,请参阅 设置 Snowflake Notebooks。
有关在 Snowflake Notebooks 中使用 Snowpark 库的更多信息,请参阅 笔记本中的 Snowpark Python。
为 Snowpark 设置 Jupyter Notebook¶
要开始将 Snowpark 与 Jupyter Notebooks 结合使用,请执行以下操作:
安装 Jupyter Notebooks:
pip install notebook
启动 Jupyter Notebook:
jupyter notebook
在打开的网页的右上角,选择 New » Python 3 Notebook。
在单元格中,创建一个会话。有关更多信息,请参阅 创建会话。
为 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