雪花在Python中获取很多

时间:2019-01-24 17:56:01

标签: python pandas snowflake

我正在尝试使用python中的Snowflake软件包创建一个熊猫数据框。

我运行一些查询

sf_cur = get_sf_connector()
sf_cur.execute("USE WAREHOUSE Warehouse;")
sf_cur.execute("""select Query"""
)

print('done')

输出大约21,000行。然后使用

df = pd.DataFrame(sf_cur.fetchall())
即使仅对100行进行有限采样,

也会永久占用。有没有一种方法可以对此进行优化,理想情况下,较大的查询将在循环中运行,因此处理更大的数据集将是理想的。

2 个答案:

答案 0 :(得分:1)

fetchall()将所有结果复制到内存中时,您应该尝试直接遍历游标对象并将其映射到for块内的数据框

cursor.execute(query)
    for row in cursor:
    #build the data frame

其他示例,仅用于显示:

query = "Select ID from Users"
cursor.execute(query)
for row in cursor:
    list_ids.append(row["ID"])

答案 1 :(得分:0)

使用void *在结果顶部构建熊猫数据框。