hive架構原理簡析 mapreduce部分

2022-07-28 03:36:11 字數 1045 閱讀 1003

整個處理流程包括主要包括,語法解析(抽象語法樹,ast,採用antlr),語義分析(sematic analyzer生成查詢塊),邏輯計畫生成(op tree),邏輯計畫優化,物理計畫生成(task tree),以及物理計畫執行組成。

下面這張圖(不知道是誰畫的)簡要的說明了整個處理的流程

這裡重點說一下物理計畫生成,以及執行。

物理計畫的生成是根據邏輯操作樹(operator)來生成的,物理計畫由task物件執行的,每個task有乙個woker物件,work代表物理計畫的描述。

主要有fetchwork,movework,mapredwork,copywork,ddlwork,functionwork,explainwork,conditionalwork

物理計畫的執行,是針對每乙個物理計畫而呼叫execute方法。

主要有fetchtask,conditionaltask,copytask,ddltask,explaintask,mapredtask,movetask

其中mapredtask實現的功能是mapreuce的客戶端,它根據woker的描述mapredwork,生成乙個plan xml檔案,作為hadoop jar [params]相關的命令引數,傳遞給

下面這張圖比較清晰的說明了在mapreduce的過程中資料的處理過程:

fileformat,需要在定義table時,指定資料的儲存格式(store as ),比如textflle,sequencefile,rcfile等,當然可以自定義資料儲存的格式(store as row format ),

資料的儲存格式fileformat主要是進行record(writable)在檔案中是如何儲存的,在map時提供檔案的讀,reduce時提供檔案的寫。

serde,資料的格式轉換,writable到operator所用的object之間的轉換。

hive架構原理簡析 mapreduce部分

整個處理流程包括主要包括,語法解析 抽象語法樹,ast,採用antlr 語義分析 sematic analyzer生成查詢塊 邏輯計畫生成 op tree 邏輯計畫優化,物理計畫生成 task tree 以及物理計畫執行組成。下面這張圖 不知道是誰畫的 簡要的說明了整個處理的流程 這裡重點說一下物理...

hive架構原理簡析 mapreduce部分

整個處理流程包括主要包括,語法解析 抽象語法樹,ast,採用antlr 語義分析 sematic analyzer生成查詢塊 邏輯計畫生成 op tree 邏輯計畫優化,物理計畫生成 task tree 以及物理計畫執行組成。下面這張圖 不知道是誰畫的 簡要的說明了整個處理的流程 這裡重點說一下物理...

Android架構簡析

mvp架構及開發模式 mvc or mvp pattern whats the difference?android中的mvp 譯 android開發中的mvp架構 首先,讓我們思考下為什麼在android開發中如此迫切地需要乙個清晰的架構。該段摘自 大全第二版 避免建立神類。避免建立無所不知,無所...