我正在从 Python 连接到雪花数据仓库,我遇到了一个奇怪的行为。如果我从 SnowFlake 检索的行数较少,Python 程序将成功退出,但如果我尝试检索超过 200K 行,则该程序会无限期地挂在那里。我 100% 确定我的机器没有问题,因为我能够从 Postgres 等其他类型的数据库系统检索 5 到 1000 万行数据。
我的 Python 环境是 Python 3.6,我使用以下版本的库 -> SQLAlchemy 1.1.13、snowflake-connector-python 1.4.13、snowflake-sqlalchemy 1.0.7、
以下代码打印总行数并关闭连接。
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
engine = create_engine(URL(
account=xxxx,
user=xxxxx,
password=xxxxx,
database=xxxxx,
schema=xxxxxx,
warehouse=xxxxx))
query = """SELECT * FROM db_name.schema_name.table_name LIMIT 1000"""
results = engine.execute(query)
print (results.rowcount)
engine.dispose()
以下代码打印总行数,但连接没有关闭,它只是挂在那里,直到我手动终止 Python 进程。
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
engine = create_engine(URL(
account=xxxx,
user=xxxxx,
password=xxxxx,
database=xxxxx,
schema=xxxxxx,
warehouse=xxxxx))
query = """SELECT * FROM db_name.schema_name.table_name LIMIT 500000"""
results = engine.execute(query)
print (results.rowcount)
engine.dispose()
我尝试了多个不同的表,但在 SnowFlake 上遇到了同样的问题。有没有人遇到过类似的问题?