Hive SQL执行流程分析

为什么Hive SQL要分析过程

  1. sql执行非常慢

sql执行的步骤
Hive SQL执行流程分析
Predicate Push Down 和MapJoin发生在逻辑执行计划还是物理执行计划?

group by的过程

mapreduce count过程:

  1. split ==> (word,1)
  2. shuffle:(word,1) partition ==> reduce
  3. reduce:(word,可迭代的(1,1,1,1…)) ⇒ (word,sum(可迭代的))

group by的流程和mapreduce一模一样
combiner:本地的reduce,先做一个局部的聚合