当HiveQL跑不出来时,基本上是数据倾斜了,比如出现count(distinct),groupby,join等情况,理解 MR 底层原理,同时结合实际的业务,数据的类型,分布,质量状况等来实际的考虑如何进行系统性的优化. Hive on MR 调优主要从三个层面进行,分别是基于MapReduce优化.Hive架构层优化和HiveQL层优化. MapReduce调优 如果能够根据情况对shuffle过程进行调优,对于提供MapReduce性能很有帮助.一个通用的原则是给shuffle过程分配尽可…