Hive SQL查询json结果并将键显示为列

时间:2018-07-26 03:12:43

标签: sql json hive hiveql

我有一个Hive表,其中一列包含一个JSON对象作为字符串:

json1

{"key1" : "val1", "key2:"val2"}
{"key1" : "val1", "key2:"val4"}
{"key2" : "val2", "key3:"val3"}

我目前正在使用内置的json_tuple函数来查询键值对,例如:

SELECT json1 FROM TABLENAME
LATERAL VIEW json_tuple(TABLENAME.json1,'key2') jsontable as column1 
where column1="val2"

我得到这样的结果:

{"key1" : "val1", "key2:"val2"}
{"key2" : "val2", "key3:"val3"}

如何显示结果,键为列,值为行:

key1   key2   key3
val1   val2   NULL
NULL   val2   val3

我在JSON对象中有100多个不同的键,因此这不是硬编码的选择,我还尝试使用split(json1)返回了每个键值对的列表,但是我无法将键显示为专栏,我们将不胜感激!

0 个答案:

没有答案