看懂Hive的執行計劃
阿新 • • 發佈:2018-12-10
關於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中 + 正序排序 不排序 ++按兩列正序排序,如果有兩列 +- 正反排序,如果有兩列 -反向排序 如此類推