3.sql執行計畫對映mr流程
4. 執行計畫優化
2.1 大資料兩類sql框架
這兩種sql框架,概括了所有的大資料sql,幾乎不可能有第三種寫法,區別可能是業務複雜,寫的複雜點兒而已。
2.2 解析sql執行計畫流程詳解
六步將普通的sql對映成了作業任務。重點是 邏輯執行計畫優化和物理執行計畫優化
3.1過濾類查詢sql
3.2分組聚合類查詢sql
3.3join類查詢sql
待補充待補充
擴充套件1:reducebykey和groupbykey的區別,前者會發生combiner 區域性聚合,而後者不會,前者獲得的是相同key對應的乙個元素,後者是獲取元素集合。reducebykey更加適合大資料,少用groupbykey(全資料shuffle)
擴充套件2:map task數是由資料檔案分片數決定的分片數即是map任務數,程式設計師只能給個期望值
擴充套件3:reduce task數是由輸入reduce的資料的分割槽(partitions)數決定的即分割槽數為map任務數,預設是1,程式設計師可直接設定reduce個數來改變reduce task數,reduce task數決定來 生成的檔案數。
擴充套件4: mr資料shuffle確定資料發往哪乙個reduce分割槽的規則是:取key的hashcode值對分割槽數模。
擴充套件5:explain sql ;檢視某sql語句的執行計畫
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 看懂Hive的執行計畫
一般執行計畫有兩個部分 stage dependencies 各個stage之間的依賴性 stage plan 各個stage的執行計畫 乙個stage並不一定是乙個mr,有可能是fetch operator,也有可能是move operator。乙個mr的執行計畫分為兩個部分 map operat...
Sql執行計畫解析
1.我們怎麼知道sql執行效果怎樣哪?我們需要查詢sql的執行計畫。mysql優化器是怎樣執行我們的請求的。explain select from user where username lai and password lai 2.首先通過mysql執行計畫,我們可以知道sql如何使用索引。雖然我...