【发布时间】:2022-07-22 16:06:41
【问题描述】:
我有一个 DataStage 并行作业,它作为长期作业的最后阶段写入 Hive。可以查看即将写入的数据,在Hive表中有很多NULL想查看的字符串。
但是,当我查看创建的表时,没有 NULL 字符串,它们都被转换为空字符串 ''。我可以看到其他数据类型,例如 DECIMAL(5,0) 有 NULL 值,我可以选择这些,例如
SELECT * FROM mytable WHERE decimal_column IS NULL;
写入 Hive 的过程是将数据以分隔文本格式存储在临时表中。然后通过通用 CDC 进程推送,并导致数据写入 ORC 格式表中的新分区。
我能看到的用于处理 NULL 值的唯一选项是 HDFS 文件连接器阶段中的“Null Value”。如果我把这个留空,那么我会得到空字符串,如果我输入“NULL”,那么“NULL”就是我得到的,即不是NULL,而是字符串“NULL”。
我无法更改流程,因为它已经适用于数以千计的工作。有什么方法可以让我的字符串值为NULL 还是我被空字符串困住了?
【问题讨论】: