1. 程式人生 > >Hive將SQL轉化為MapReduce的過程

Hive將SQL轉化為MapReduce的過程

Hive將SQL轉化為MapReduce的過程:

  1. Antlr定義SQL的語法規則,完成SQL詞法,語法解析,將SQL轉化為抽象語法樹AST Tree
  2. 遍歷AST Tree,抽象出查詢的基本組成單元QueryBlock
  3. 遍歷QueryBlock,翻譯為執行操作樹OperatorTree
  4. 邏輯層優化器進行OperatorTree變換,合併不必要的ReduceSinkOperator,減少shuffle資料量
  5. 遍歷OperatorTree,翻譯為MapReduce任務
  6. 物理層優化器進行MapReduce任務的變換,生成最終的執行計劃