Snowpark Python调用Snowflake外部函数sql_expr语法报错求助
Snowpark Python调用Snowflake外部函数的语法修正
你的写法不正确,问题出在sql_expr的参数上——sql_expr只接受单个SQL表达式,不需要写完整的select语句。你传入的"select test_ext(3,4)"是完整查询语句,不符合要求,才会触发语法报错。
正确写法
直接传入函数调用表达式
去掉select关键字,直接把外部函数调用作为参数传入:
dataframe = dataframe.with_column('name', sql_expr("test_ext(3,4)"))
引用DataFrame中的列作为参数
如果需要用DataFrame里的列值作为外部函数的参数,写法如下:
# 假设DataFrame有col1、col2两列 dataframe = dataframe.with_column('name', sql_expr("test_ext(col1, col2)"))
另一种更安全的参数绑定方式
也可以用expr函数结合列引用,避免硬编码列名的风险:
from snowflake.snowpark.functions import expr, col dataframe = dataframe.with_column('name', expr("test_ext(?, ?)", col("col1"), col("col2")))
内容的提问来源于stack exchange,提问作者Bhavik Vagadia
相关产品推荐
相关产品推荐

