一般執行計畫有兩個部分:
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中
+ 正序排序
不排序
++按兩列正序排序,如果有兩列
+- 正反排序,如果有兩列
-反向排序
如此類推
Hive 執行計畫
執行語句 hive explain select s.id,s.name from student s left outer join student tmp st on s.name st.name 結果,紅色字型為我新增的注釋 hive explain select s.id,s.name fr...
hive執行計畫解析
3.sql執行計畫對映mr流程 4.執行計畫優化 2.1 大資料兩類sql框架 這兩種sql框架,概括了所有的大資料sql,幾乎不可能有第三種寫法,區別可能是業務複雜,寫的複雜點兒而已。2.2 解析sql執行計畫流程詳解 六步將普通的sql對映成了作業任務。重點是 邏輯執行計畫優化和物理執行計畫優化...
Hive元件及Hive執行流程
元儲存 metastore 儲存 系統目錄以及關於表 列 分割槽等的元資料 的元件。驅動 driver 控制 hiveql 生命週期的元件,當 hiveql 查詢穿過 hive時。該驅動管理著會話控制代碼以及任何會話的統計。查詢編譯器 query compiler 是乙個元件,將hiveql編譯成有...