Hive 必知必会(一)

2020-07-01 00:00:00 数据 函数 分区 统计 加载

1.Hive表关联查询,如何解决数据倾斜的问题?

数据倾斜发生在shuffle阶段,如:

数据倾斜的解决方案

参数调节:
hive.map.aggr=true
Map 端部分聚合,相当于Combiner

,做好列裁剪和filter操作,以达到两表做join的时候,数据量相对变小的效果

第二,

大小表join

工作原理是在Map端把小表加载到内存中,然后读取大表,和内存中的小表完成连接操作

手动map join
hive (hive)> select /*+mapjoin(post)*/ user.id,user.name,post.pid,post.title from  user           > join post
           > on user.id = post.uid;

自动配置
hive (hive)> set hive.auto.convert.join=true;
hive (hive)> set hive.mapjoin.smalltable.filesize=25000000;(默认值就是25MB)

相关文章