Hive优化面试题

对待像我这种2年开发经验的同学

一般都会被问到。 在面试中,我们只要简短的介绍就好了。

首先低调一波,我可能懂的比你少,我就简单说说

1.在排序中,我们使用的是sortBy,它是基于索引,效率高于order by

2.我们在分区的时候采用静态分区,静态分区只是读取配置文件,而动态分区需要重复的读取其它分区的标识,大量的制造了不必要的开销

3.在对待groupBy的数据倾斜的方面,我们设置hive.group.sviWind=ture,这表明它会自动进行负载均衡,去除了数据倾斜的问题

4.hive比较擅长处理大文件,大文件会有效的减少过多job,task的创建,这里我们使用UDF和UDAF来处理数据。UDF是单一处理,解决BUG,UDAF是多行处理,还有UDTF,这里我们不用还是说简单说一下

是单一输入,多行输出。

5.减少job和task的数量,我们使用表的链接。

6.小表join大表

7.大表join大表,过滤空key

8.设置并行数

9.关闭推测执行

10.设置索引

 

在送点彩蛋,如果被问到hive中有哪些常用函数,

嗯.!有窗口函数,分析函数,比如row_number,distct,Rank,over by,lag,DENSE_RANK

转载于:https://www.cnblogs.com/BigDataBugKing/p/11311949.html

你可能感兴趣的:(Hive优化面试题)