首页 > 解决方案 > 使用雪花连接器获取数据会引发 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.

标签: pythonsnowflake-cloud-data-platform

解决方案


您必须通过安装 pyarrow 模块

pip3 install pyarrow

雪花连接器的安装不会自动安装。


推荐阅读