如何将Python wheel文件导入Snowflake作为包
将Python Wheel文件导入Snowflake的操作步骤
1. 准备适配的Wheel文件
从PyPi下载Linux x86_64平台的wheel文件(Snowflake运行环境基于Linux),注意匹配Snowflake支持的Python版本(当前支持3.8、3.9等),避免下载仅适配Windows/macOS的包。
2. 创建Snowflake内部阶段
用于存储上传的wheel文件,执行SQL命令:
CREATE OR REPLACE STAGE WHEEL_STORAGE_STAGE COMMENT = '存储Python Wheel包的内部阶段';
3. 上传Wheel文件到阶段
使用SnowSQL工具连接Snowflake后,执行本地文件上传命令(替换本地文件路径和阶段名):
PUT file:///本地路径/你的包文件.whl @WHEEL_STORAGE_STAGE AUTO_COMPRESS = FALSE;
注意:必须设置AUTO_COMPRESS = FALSE,防止wheel包被二次压缩导致无法识别
4. 在UDF/存储过程中引用Wheel包
创建Python UDF或存储过程时,通过PACKAGES参数指定阶段中的wheel文件,示例:
CREATE OR REPLACE FUNCTION TEST_WHEEL_FUNC(input_str STRING) RETURNS STRING LANGUAGE PYTHON RUNTIME_VERSION = 3.8 PACKAGES = ('@WHEEL_STORAGE_STAGE/你的包文件.whl') HANDLER = '模块名.函数名';
模块名是wheel包解压后对应的Python模块名称函数名是你要调用的具体函数
常见问题排查
- 若之前操作失败,优先检查wheel包的平台/版本是否与Snowflake兼容
- 确认上传时未开启自动压缩,阶段中的文件未被篡改
- 如果包存在依赖,需将所有依赖wheel包一并上传并添加到
PACKAGES参数中
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

