我正试图基于hadoop中的一些json数据在hive中创建一个表。困难的部分是我有一个嵌套的json,其中的数据没有在key:value pairs:
{
"trafficSource":{
"source":"(direct)",
"medium":"(none)"
},
"device":{
"browser":"(not set)",
"browserVersion":"(not set)",
"operatingSystem":"(not set)",
"operatingSystemVersion":"(not set)",
"isMobile":false,
"flashVersion":"(not set)",
"javaEnabled":false,
"language":"(not set)",
"screenColors":"(not set)",
"screenResolution":"(not set)",
"deviceCategory":"desktop"
}
"hits":[
{
"customDimensions":[
{
"index":"1",
"value":"2"
},
{
"index":"2",
"value":"0"
}
],
}
],
}
我想在配置单元表中为json的“hits.customdimensions”中的每个值创建一列。每个数组都包含一个索引和该索引的值。例如,index=1的列将被命名为“user\u id”,并且该值将来自该数组中的“value”参数。
有没有一个简单的方法来创建这个配置单元表?
谢谢!
1条答案
按热度按时间js81xvg61#
您可以在hive中使用json\tuple udf来解析json中的属性,但是我无法找到解析嵌套json的方法。
以下内容将帮助您解析json:
如何用json数据生成配置单元表?
为了将嵌套的json放入配置单元表中,我建议您使用python和hadoop流解析json文件,并将它们转换为扁平结构。从那里开始很容易。