为 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
建议使用 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
然后,按照下一节所述在此环境中安装 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 设置 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