Hive 中是否有更简单的方法将不同的 JSON 键合并为一个?
Is there an easier way in Hive to consolidate different JSON keys as one?
我正在尝试使用 Hive 解析 json 字符串,我注意到某些值有两个不同的键,例如:
get_json_object(json_string, '$.user_name')
get_json_object(json_string, '$.User_Name')
有没有办法检查一个或另一个键是否存在,然后将值插入到解析中 table?
我当前的脚本选择两者并插入到 table,然后是另一个脚本,该脚本检查任一键的值是否为 null 并执行 case when 语句。
我想到了这个:
Select
CASE WHEN get_json_object(json_string, '$.user_name') is not null THEN get_json_object(json_string, '$.user_name')
ELSE get_json_object(json_string, '$.User_Name')
END AS username
FROM tbl_something;
select coalesce
(
get_json_object(json_string, '$.user_name')
,get_json_object(json_string, '$.User_Name')
) as username
from tbl_something
我正在尝试使用 Hive 解析 json 字符串,我注意到某些值有两个不同的键,例如:
get_json_object(json_string, '$.user_name')
get_json_object(json_string, '$.User_Name')
有没有办法检查一个或另一个键是否存在,然后将值插入到解析中 table?
我当前的脚本选择两者并插入到 table,然后是另一个脚本,该脚本检查任一键的值是否为 null 并执行 case when 语句。
我想到了这个:
Select
CASE WHEN get_json_object(json_string, '$.user_name') is not null THEN get_json_object(json_string, '$.user_name')
ELSE get_json_object(json_string, '$.User_Name')
END AS username
FROM tbl_something;
select coalesce
(
get_json_object(json_string, '$.user_name')
,get_json_object(json_string, '$.User_Name')
) as username
from tbl_something