Hive (十六)Hive 執行過程例項分析

2021-10-02 10:06:29 字數 1938 閱讀 9240

二、join

三、group by

四、distinct

(1) hive 將 hql 轉換成一組操作符(operator),比如 groupbyoperator,joinoperator 等

(2)操作符 operator 是 hive 的最小處理單元

(3)每個操作符代表乙個 hdfs 操作或者 mapreduce 作業

(1)parser:將 hql 語句轉換成抽象語法樹(ast:abstract syntax tree)

(2)semantic analyzer:將抽象語法樹轉換成查詢塊

(3)logic plan generator:將查詢塊轉換成邏輯查詢計畫

(4)logic optimizer:重寫邏輯查詢計畫,優化邏輯執行計畫

(5)physical plan gernerator:將邏輯計畫轉化成物理計畫(mapreduce jobs)

(6)physical optimizer:選擇最佳的 join 策略,優化物理執行計畫

map:1、以 join on 條件中的列作為 key,如果有多個列,則 key 是這些列的組合

2、以 join 之後所關心的列作為 value,當有多個列時,value 是這些列的組合。在 value 中還會包含表的 tag 資訊,用於標明此 value 對應於哪個表

3、按照 key 進行排序

shuffle:

1、根據 key 的值進行 hash,並將 key/value 對按照 hash 值推至不同對 reduce 中

reduce:

1、 reducer 根據 key 值進行 join 操作,並且通過 tag 來識別不同的表中的資料

按照 age 分組,然後統計每個分組裡面的不重複的 pageid 有多少個。

該 sql 語句會按照 age 和 pageid 預先分組,進行 distinct 操作。然後會再按 照 age 進行分組,再進行一次 distinct 操作。

Hive(九)Hive 執行過程例項分析

一 hive 執行過程概述 1 hive 將 hql 轉換成一組操作符 operator 比如 groupbyoperator,joinoperator 等 2 操作符 operator 是 hive 的最小處理單元 3 每個操作符代表乙個 hdfs 操作或者 mapreduce 作業 1 pars...

Hive總結(三)hive元件和執行過程

對hive的基本組成進行了總結 1 元件 元儲存 metastore 儲存 系統目錄以及關於表 列 分割槽等的元資料 的元件。驅動 driver 控制 hiveql 生命週期的元件,當 hiveql 查詢穿過 hive時。該驅動管理著會話控制代碼以及任何會話的統計。查詢編譯器 query compi...

hive原始碼解析之hive執行過程

儲存到相簿 2014 12 26 23 04 上傳 1.入口 bin cli.sh 呼叫clidriver類進行初始化過程 處理 e,f,h等資訊,如果是 h,列印提示資訊,並退出 讀取hive的配置檔案,設定hiveconf 建立乙個控制台,進入互動模式 2.在互動方式下,讀取每乙個輸命令列,直到...