python - 使用雪花连接器获取数据会引发 EmptyPyArrowIterator 错误
问题描述
我在我的 python 脚本(plotly dash 应用程序)中使用了 python 雪花连接器,今天该应用程序停止工作,而我没有更改代码。我尝试了几件事来找出可能是什么问题,我什至尝试运行Snowflake 文档中的示例代码,但我得到了同样的错误:
代码:
cur = conn.cursor()
try:
cur.execute("SELECT col1, col2 FROM test_table ORDER BY col1")
for (col1, col2) in cur:
print('{0}, {1}'.format(col1, col2))
finally:
cur.close()
错误:
Traceback (most recent call last):
File "db_connection.py", line 48, in <module>
cur.execute("SELECT col1, col2 FROM test_table ORDER BY col1")
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/snowflake/connector/cursor.py", line 580, in execute
self._init_result_and_meta(data, _use_ijson)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/snowflake/connector/cursor.py", line 630, in _init_result_and_meta
self._result = ArrowResult(data, self, use_dict_result=self._use_dict_result)
File "arrow_result.pyx", line 42, in snowflake.connector.arrow_result.ArrowResult.__init__
File "arrow_result.pyx", line 156, in snowflake.connector.arrow_result.ArrowResult._reset
NameError: name 'EmptyPyArrowIterator' is not defined
连接已建立,我能够在我的数据库中创建一个表,但我似乎无法查询和迭代数据。
我在macOS Catalina 10.15.1
, snowflake-connector-python==2.1.0
, Python 3.7.0
.
解决方案
您必须通过安装 pyarrow 模块
pip3 install pyarrow
雪花连接器的安装不会自动安装。
推荐阅读
- javascript - 如何检查变量是 Set 还是 Map
- c - 如何使浮点数停止舍入为整数?
- c# - 使用 Autofac ASP.Net Core 5 注册动态通用存储库
- python - 如何从 pip 需求文件创建 AzureML 环境
- c++ - 如何在 Linux 中检查与套接字服务器的现有连接?
- java - JaveFX 中的 GridPane
- java - 如何从字符串中删除子字符串?
- python - mosquitto 代理在接收 MQTT 连接数据包时出错(python)
- python - 有没有更有效的方法来更新 tkinter 上的标签?
- django - 由于我的 html 模板,django is_valid() 返回 false 且没有错误