在将 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 位置