使用 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() 进行迭代,首先您需要从某处获取结果以进行迭代。