使用Hive Regex Serde时防止插入NULL

时间:2017-06-01 12:29:12

标签: hive hive-serde regexserde

RegexSerDe使用正则表达式(regex)来反序列化数据。它不支持数据序列化。它可以使用正则表达式对数据进行反序列化,并将组提取为列。在反序列化阶段,如果行与正则表达式不匹配,则该行中的所有列都将为NULL。如果一行与正则表达式匹配但具有少于预期的组,则缺少的组将为NULL。如果一行与正则表达式匹配但具有多于预期的组,则只会忽略其他组。

如果行中存在不匹配并引发异常,如何防止插入NULL?

1 个答案:

答案 0 :(得分:0)

select  *

from    mytable

where   assert_true
        (
            mycol1 is not null
        or  mycol2 is not null
        or  mycol3 is not null
        ...
        )