使用 snowflake executemany 函数通过 python 生成器插入行
insert rows via a python generator using snowflake executemany function
我有一个雪花 table,我正在使用 Snowflake Python Connector 向其中插入值。因为我有很多数据,所以我使用 python 生成器对象将值插入到我的 table.
conn = snowflake.connector.connect(...)
with conn.cursor() as write_cur:
write_cur.executemany("INSERT INTO TABLE_1 VALUES (%s, %s)",
generator_data)
但这似乎引发了生成器没有属性 len() 的错误。
无论如何我可以使用迭代器将值插入雪花 table.
如果可能,不要这样做 - 个别插入很慢。
而是批量收集所有要插入的值,然后在一个 INSERT
中引入所有行。
但是让我们谈谈问题中的代码:没有什么可以迭代的。要 cursor()
进行迭代,首先您需要从某处获取结果以进行迭代。
我有一个雪花 table,我正在使用 Snowflake Python Connector 向其中插入值。因为我有很多数据,所以我使用 python 生成器对象将值插入到我的 table.
conn = snowflake.connector.connect(...)
with conn.cursor() as write_cur:
write_cur.executemany("INSERT INTO TABLE_1 VALUES (%s, %s)",
generator_data)
但这似乎引发了生成器没有属性 len() 的错误。 无论如何我可以使用迭代器将值插入雪花 table.
如果可能,不要这样做 - 个别插入很慢。
而是批量收集所有要插入的值,然后在一个 INSERT
中引入所有行。
但是让我们谈谈问题中的代码:没有什么可以迭代的。要 cursor()
进行迭代,首先您需要从某处获取结果以进行迭代。