我有一个巨大的csv文件,其中包含数百万条记录,我想使用python脚本将其加载到Netezza DB中,我尝试过简单的插入查询,但它非常非常慢。能告诉我一些python脚本的例子或者一些想法吗?我该怎么做呢?
谢谢
发布于 2013-06-28 21:53:08
如果您安装了Netezza管理工具,则可以对nzload进行shell调用。
如下所示:
os.system("nzload -host myhost -u myuser -pw mypassword -db MYDB -t MYTABLE -skipRows 1 -nullValue NULL -quotedValue DOUBLE -df \"C:\\myinputfile.txt\" -delim \"|\" -dateDelim \"-\" -lf c:\\logs\\nzload.log -bf c:\\logs\\nzloadbad.log")发布于 2013-07-08 16:44:50
您可以使用nz_load4加载数据,这是支持实用程序/nz/ support /contrib/bin
语法和nzload一样,默认情况下nz_load4会使用4个线程来加载数据,你可以使用-tread选项到32个线程来获取更多细节,使用nz_load4 -h
这将根据线程数创建日志文件,例如
发布于 2013-03-27 01:19:07
您需要将nzcli安装在您想要运行nzload的机器上-您的sysadmin应该能够将其放在您的unix/linux应用服务器上。有一个详细的过程来设置它,缓存密码,等等- sysadmin应该能够做到这一点。
设置完成后,您可以创建指向数据文件的NZ控制文件并执行加载。Netezza数据加载指南提供了关于如何执行所有这些操作的详细说明(可以通过IBM获得)。
如果您有CREATE EXTERNAL TABLE权限,您也可以通过代理来完成-您可以执行一个INSERT INTO FROM EXTERNAL ... REMOTESOURCE ODBC来从ODBC连接加载文件。
https://stackoverflow.com/questions/15592980
复制相似问题