netezza nzsql 将查询结果导出到 csv 文件
Posted
技术标签:
【中文标题】netezza nzsql 将查询结果导出到 csv 文件【英文标题】:netezza nzsql export query results into csv file 【发布时间】:2015-06-04 18:56:58 【问题描述】:当我使用 netezza nzsql commndline 将查询结果导出到 csv 时,o/p 会以固定长度格式打印到文件中。即,如果一个 col 被定义为 4k 长度,则无论该字段中存储的字符串的长度如何,它都会打印出 4k 长度的字符串。结果,由于有很多额外的空间,o/p 文件变得越来越大。有没有办法绕过它?我尝试修剪列,replace(field,' ','') 但它没有帮助。
我正在使用的命令:
nzsql -d dbname -u username -h host -c "select * from table_with_90_columns " -t -o output.csv
【问题讨论】:
你需要指定一个分隔符,我想你会在这个问题here nzsql 的默认分隔符为 | .即使我使用不同的分隔符,我也会看到固定长度的 o/p。 我很好奇在使用 nzsql 时除了标题名称之外是否还可以获取标题 sql 类型... 【参考方案1】:使用 nzsql 输出分隔数据时,请使用 -F 选项指定您选择的分隔符,并使用 -A 选项指定未格式化的输出。
或者,使用外部表,因为它们对于任何重要大小的数据都会快得多。
【讨论】:
以上是关于netezza nzsql 将查询结果导出到 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
NZSQL/CODE - 如何在 Netezza 中使用 PRINT