Hive常见面试题(京东大数据开发实习面试)
1.三种排序(面试重中之重)
(1)rank():排序相同时会重复,总数不会变
(2)dense_rank():排序相同时会重复,总数会减少
(3)row_number():会根据顺序计算
京东大数据开发实习岗面试真题
2.Hive调优
(1)Group by
默认情况下,Map阶段同一Key数据分发给一个reduce,当一个Key数据过大时就会产生数据倾斜。并不是所有的聚合操作都需要在Reduce端完成,很多聚合操作都可以现在Map段进行部分聚合,最后在Reduce端得到最终结果,这个可以避免数据倾斜现象。
开启Map端聚合参数设置
(1)hive.map.aggr = true (是否在Map端进行聚合,默认为True)
(2)hive.groupby.mapaggr.checkinterval = 100000 (在map端设置进行聚合操作的数目)
(3)hive.groupby.skewindata = true (有数据倾斜的时候进行负载均衡,默认是false)