我在一个列表中有大约一百万条记录,我想把它们写到Netezza表中。我一直在pyodbc中使用executemany()命令,这似乎非常慢(如果我将记录保存到Excel并从Excel文件加载到Netezza,则加载速度会更快)。有没有比用executemany()命令加载列表更快的方法?在
PS1:这个列表是由我们公司的一个专有的DAG生成的,所以写入这个列表非常快。在
PS2:我还尝试过将executemany()循环成块,每个块包含一个包含100条记录的列表。加载大约需要60秒,这看起来非常慢。在
Tags:
Netezza适合于大容量加载,executeMany()一次性插入行数。加载数百万行的最佳方法是“nzload”实用程序,它可以由vbscript、Windows的Excel宏或Linux的Shell脚本调度。在
在Python中,我使用临时外部表将数百万行加载到Netezza具有很好的性能。基本上Python在本地机器上创建一个CSV文件,然后告诉ODBC驱动程序将CSV文件加载到远程服务器。在
最简单的例子是:
在幕后,这相当于nzload命令,但它不需要nzload。这对我在没有nzload的窗口上工作得很好。在
警告:请注意CSV的格式、CSV中的值和命令的选项。Netezza提供无效值的模糊错误消息。在
相关问题 更多 >
编程相关推荐