1. 程式人生 > >看懂Hive的執行計劃

看懂Hive的執行計劃

關於Hive執行計劃簡述

一般執行計劃有兩個部分:  stage dependencies 各個stage之間的依賴性  stage plan 各個stage的執行計劃

一個stage並不一定是一個MR,有可能是Fetch Operator,也有可能是Move Operator。

一個MR的執行計劃分為兩個部分:  Map Operator Tree MAP端的執行計劃  Reduce Operator Tree Reduce端的執行計劃

一些常見的Operator:  TableScan 讀取資料,常見的屬性 alias

Select Operator 選取操作  Group By Operator 分組聚合, 常見的屬性 aggregations、mode , 當沒有keys屬性時只有一個分組。  Reduce Output Operator 輸出結果給Reduce , 常見的屬性 sort order  Fetch Operator 客戶端獲取資料 , 常見屬性 limit

常見的屬性的取值及含義: aggregations 用在Group By Operator中  count()計數

mode 用在Group By Operator中  hash 待定  mergepartial 合併部分聚合結果  final

sort order 用於Reduce Output Operator中  + 正序排序  不排序  ++按兩列正序排序,如果有兩列  +- 正反排序,如果有兩列  -反向排序  如此類推