
HIVE SQL 优化
因为count distinct操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成,一般count distinct使用先group by再count的方式替换,虽然会多用一个Job来完成,但在数据量大的情况下,这个绝对是值得的。数据倾斜的原理都知道,就是某一个或几个key占据了整个数据的90%,这样整个任务的效率都会被这个key的处理拖慢,同时也可能会因为相同的key会聚合到一起造成内存溢出。其中在开发过程中主要涉及到的可能是SQL优化这块。










