api="TopicHeatTrend"
hadoop dfs -mkdir /jzytest/hive${api}/
hive -e 'create external table if not exists jzy'$api'json
(
distribute map<string,map<string,int>>,
heatTrend array<struct<channel:string,heat:int,list:array<struct<heat:int,time:string>>>>,
topData map<string,array<struct<list:array<map<string,string>>,source:string>>>
)
partitioned by (topic_id string,dt string)
row format serde "org.apache.hive.hcatalog.data.JsonSerDe"
LOCATION "hdfs:///jzytest/hive'$api'/";'
原数据格式:
结果:
总结:
1.list对应array,map对应map,json对应struct
2.使用struct时要注意key对应
参考:https://blog.youkuaiyun.com/jzy3711/article/details/84246075
https://blog.youkuaiyun.com/jzy3711/article/details/84257589
原数据样例下载:https://download.youkuaiyun.com/download/jzy3711/10794293