Snowpark Python存储过程报错:'pyarrow'未安装,如何解决?
问题原因
你修改后的存储过程需要返回JSON格式的结果集,而Snowpark在将查询结果(DataRow/DataFrame)转换为JSON时依赖pyarrow库进行数据序列化,当前存储过程的Python运行环境中未安装该依赖,因此触发了255002错误。
解决步骤
- 创建存储过程时,通过
PACKAGES参数显式指定安装pyarrow依赖。示例创建语句如下:
CREATE OR REPLACE PROCEDURE SP_Snowpark_Python_Revenue_3(CUSTOMER_ID STRING) RETURNS VARIANT LANGUAGE PYTHON RUNTIME_VERSION = '3.8' PACKAGES = ('snowflake-snowpark-python', 'pyarrow') HANDLER = 'main' AS $$ def main(session, customer_id): # 你的查询逻辑示例 query_result = session.sql(f"SELECT * FROM YOUR_TABLE WHERE CUSTOMER_ID = '{customer_id}'").collect() # 将结果转换为可返回的JSON结构 return [row.as_dict() for row in query_result] $$;
- 若出现版本兼容问题,可指定
pyarrow的具体版本(比如pyarrow==10.0.1),确保和Snowpark Python版本匹配。 - 重新创建存储过程后,再次调用即可正常返回JSON格式结果。
内容的提问来源于stack exchange,提问作者C B
相关产品推荐
相关产品推荐

