我正在尝试使用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行进行有限采样,也会永久占用。有没有一种方法可以对此进行优化,理想情况下,较大的查询将在循环中运行,因此处理更大的数据集将是理想的。
答案 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 *
在结果顶部构建熊猫数据框。