使用地图数据类型的Hive查询失败

时间:2016-07-23 21:00:14

标签: hadoop hive

我编写了以下配置单元查询。在这里,我试图在我的join子句中使用Map数据类型的列(msg)。

Schedule

此查询始终失败,并显示错误消息

select p.p_id, count(*) from prod_json n 
inner join res_pan p on n.msg["mid"] = p.id
where n.cat='XYX'
group by p.p_id limit 10;

1 个答案:

答案 0 :(得分:0)

我想我能够解决问题。我重新写了我的查询

select t2.p_id, count(*)
from (select cat, msg["mid"] as mid from prod_json) t1
join (select id, p_id from res_pan) t2
on t1.mid = t2.id
where t1.cat = 'XYZ'
group by t2.p_id

所以基本上不要尝试直接使用map列,而是首先使用内部查询将地图拼接成列,然后加入这些列。