在将 nzload 与 netezza 一起使用时,我们如何定义多个空值?

Posted

技术标签:

【中文标题】在将 nzload 与 netezza 一起使用时,我们如何定义多个空值?【英文标题】:How do we define multiple null values while using nzload with netezza? 【发布时间】:2015-07-20 19:15:46 【问题描述】:

我正在尝试将数据插入 netezza 框。我有一个以管道分隔的文件,其中我希望将“无”的多个变体(即“无”、“无”、“无”)视为 NULL。虽然“-nullvalue”选项一次只适用于一个变体,但它不允许我将多个变体设置为 NULL。

此外,cf 中 nullvalue 选项的多个定义也无济于事

【问题讨论】:

过滤器使用LOWER(fieldname) @vkp 但我并没有对它进行字段过滤,nzload 一次性对所有字段进行过滤。 【参考方案1】:

从 7.2 版开始,nzload 不允许 -nullvalue 选项使用多个值。但是,您可以指定的 4 个字符值不区分大小写,这允许您的 -nullvalue of 'None' 的特定示例情况与 'NONE'、' 匹配无”、“无”等。

TESTDB.ADMIN(ADMIN)=> create table null_test (col1 int, col2 int, col3 int);
CREATE TABLE

$ cat test.txt
1|NONE|1
2|None|2
3|NoNe|3


$ nzload -db testdb -df test.txt -t null_test -delim \| -nullvalue 'None'
Load session of table 'NULL_TEST' completed successfully

TESTDB.ADMIN(ADMIN)=> select * from null_test where col2 is null;
 COL1 | COL2 | COL3
------+------+------
    1 |      |    1
    2 |      |    2
    3 |      |    3
(3 rows)

【讨论】:

以上是关于在将 nzload 与 netezza 一起使用时,我们如何定义多个空值?的主要内容,如果未能解决你的问题,请参考以下文章

Netezza 实用程序 NZLOAD 将 -df 位置指向 hdfs 位置

NZLOAD 正在工作,而 Netezza 中的外部表因错误输入行数达到最大错误而失败

使用 nzload 上传具有两种不同日期格式的文件

平面文件到 SSIS 中的 Netezza 加载

将 Unicode 文本文件导入 netezza 表

nzload - 当第一列与表元素不匹配时,skiprows 不起作用