本博客仅记录本人在学习过程中遇到的一些问题以及解决方法。
1. 子查询作为数据源时需要表别名。否则HQL语句报错:ql.Driver (SessionState.java:printError(960)) - FAILED: ParseException line 48:52 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source
create table if not exists zjn_tongxunlu_relation as select a.idcard,a.linkphone, a.linker from (select * from default.ods_tongxunlu where linker regexp '^大哥$' or linker regexp '^大姐$'
or linker regexp '^[二三四五六堂表][兄哥弟姐妹叔姨]$' or linker regexp '^外[公婆]$' or linker regexp '^爷爷$' or linker regexp '^奶奶$' ) a
2.UNION 以及UNION ALL 的问题,Hive在1.2.0版本之前只支持 UNION ALL
UNION :自动删除重复行
UNION ALL:不会删除重复行
3. peer_num没有作为group by的字段,但作为select的一个字段,报错:Expression not in GROUP BY key peer_num
原因:Hive不允许直接访问非group by字段;
改正方法: