大数据面试题(五)----HIVE的调优及数据倾斜

一、 hive表的优化

1)小表、大表 Join

       将 key 相对分散,并且数据量小的表放在 join 的左边,这样可以有效减少内存溢出错误发生的几率;再进一步,可以使用 Group 让小的维度表(1000 条以下的记录条数)先进内存。在 map 端完成 reduce。
实际测试发现:新版的 hive 已经对小表 JOIN 大表和大表 JOIN 小表进行了优化。小表放在左边和右边已经没有明显区别。
案例实操
       (0)需求:测试大表 JOIN 小表和小表 JOIN 大表的效率
       (1)建大表、小表和 JOIN 后表的语句

create table bigtable(id bigint, time bigint, uid string, keyword string, url_rank int, click_num int, click_url string) row format delimited fields terminated by '\t';
create table smalltable(id bigint, time bigint, uid string, keyword s

你可能感兴趣的:(【大数据面试宝典】)