Snowpark调用Session.sql()报错:缺少必填位置参数'query'
解决Snowpark中
sql() missing 1 required positional argument: 'query'错误 问题原因
你直接通过Session类调用了sql()方法,但sql()是实例方法,必须通过已创建的Session实例来调用,而非类本身。直接用类调用时,Python会把Session类作为第一个参数传入(对应方法里的self),导致原本需要的query参数缺失,触发报错。
修复后的代码
在Snowflake Python Worksheet中,无需手动配置连接参数,直接获取当前活跃会话即可:
# The Snowpark package is required for Python Worksheets. # You can add more packages by selecting them using the Packages control and then importing them. import snowflake.snowpark as snowpark from snowflake.snowpark.functions import col from snowflake.snowpark.session import Session # 获取当前活跃会话 session = Session.get_active_session() # 通过会话实例调用sql方法 df = session.sql('select * from snowflake_sample_data.tpch_sf10.lineitem')
本地环境额外说明
如果是在本地环境而非Worksheet中使用Snowpark,需要先通过配置参数创建Session实例:
connection_params = { "account": "你的账户名", "user": "你的用户名", "password": "你的密码", "warehouse": "你的仓库", "database": "你的数据库", "schema": "你的模式", "role": "你的角色" } session = Session.builder.configs(connection_params).create() df = session.sql('select * from snowflake_sample_data.tpch_sf10.lineitem')
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

