gpt4 book ai didi

shell - 使用 nzsql 将数据导出到 CSV

转载 作者:行者123 更新时间:2023-12-01 10:41:36 25 4
gpt4 key购买 nike

我想从 netezza 将数据导出为 CSV。数据由数百万行记录组成。数据应在引号内,并应以 ^ 作为分隔符。例如:“a”^“b”^“c”

最佳答案

无论何时您想要从 Netezza 导出数据,您都需要使用其外部表功能。

如果您要导出到本地安装到 Netezza 主机的文件系统,您可以使用:

CREATE external TABLE '/tmp/test_export.txt' USING (delimiter '^') AS
SELECT *
FROM test_export;

如果您通过 Aginity Workbench 等工具通过 JDBC、ODBC 或 OLE-DB 连接到 Netezza,并希望将数据本地导出到您的工作站,您可以使用此方法:

CREATE external TABLE 'c:\test_export.txt' USING (delimiter '^' remotesource odbc) AS
SELECT *
FROM test_export;

不幸的是,没有外部表选项可以让您将每一列用引号引起来。您必须像这样在 SQL 中使用串联来明确地执行此操作:

CREATE external TABLE 'c:\test_export.txt' USING (delimiter '^' remotesource odbc) AS
SELECT '"' || col1 || '"',
'"' || col2 || '"'
FROM test_export;

您也可以使用带有以下选项的 nzsql CLI 界面来实现类似的功能,但速度会慢很多。例如,在我的系统上,使用外部表方法导出大约200万行,创建一个大约3.5 GB的导出文件,需要20秒。使用 CLI 方法大约需要 3 180 秒。

nzsql -d DB_NAME -F "^" -t -A -o export.txt  -c "select * from test_export" 

关于shell - 使用 nzsql 将数据导出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29706103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com