如何从Hive表某列的字典数据中选取指定字段值
Hive查询语句写法
根据B列的存储类型不同,对应两种写法:
- 若B列为Map类型:
直接通过Map的key取值即可:SELECT B['age'] AS age, B['name'] AS name FROM 你的表名; - 若B列为JSON格式字符串类型:
推荐使用json_tuple函数,一次解析即可提取多个字段,性能更优:
也可逐字段调用SELECT age, name FROM 你的表名 LATERAL VIEW json_tuple(B, 'age', 'name') tmp AS age, name;get_json_object提取:SELECT get_json_object(B, '$.age') AS age, get_json_object(B, '$.name') AS name FROM 你的表名;
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

