设置Snowflake converter_class参数仍转换为Python数据类型的疑问
问题解答
根因
snowflake-connector-python 2.7.0 版本已不再支持在 snowflake.connector.connect() 方法中传入 converter_class 参数,该配置项的生效位置已调整为游标创建阶段,因此你在连接参数中添加的配置不会生效,两个连接返回的查询结果自然没有差异。
正确使用方法
如果需要抑制数据类型转换、让所有查询结果保留字符串格式,需要在创建游标时指定converter_class参数,示例代码如下:
from snowflake.connector.converter_null import SnowflakeNoConverterToPython import snowflake.connector # 连接创建阶段无需传入converter_class DBH = snowflake.connector.connect( user='username', password='password', account='account' ) # 创建游标时传入转换器类 cur = DBH.cursor(converter_class=SnowflakeNoConverterToPython) # 执行查询即可得到字符串格式的返回结果 cur.execute("YOUR QUERY SQL") result = cur.fetchall()
补充说明
- 该功能本身并未废弃,仅参数传入位置发生了变更,官方文档存在描述未同步更新的情况
- 若核心诉求是提升查询性能,也可选择使用Arrow格式返回结果,性能表现优于全字符串转换方案
内容的提问来源于stack exchange,提问作者Lowell Boone
相关产品推荐
相关产品推荐

