【发布时间】:2017-07-14 02:20:44
【问题描述】:
我有一个 Hive 外部表,其中包含 csv 数据。一些字符串字段的值为“null”。现在,我想选择数据并以 ORC 格式插入到其他表中,查询如“select * from first insert into second”。 我想用实际的 NULL 值替换字符串“null”。
一种解决方案可以将“null”替换为空白,并将我的表格设计为将空白视为 null。这可能会奏效。但是,如果数据中存在任何空白值,这些值也将被视为 NULL。
我想到的另一点是,表中有大量带有此类字符串的列。因此,如果解决方案需要选择一列并执行某些操作;我将不得不写一个很长的查询。但如果没有其他选择,那也可以。
请提出解决方案。
【问题讨论】:
-
而不是
*使用列列表,如a、b、c 等。并使用CASE语句。喜欢case when a = 'null' then null else a end as a。