Hive概述及架構設計原理

2021-10-02 18:39:13 字數 1349 閱讀 4497

定義

o hive是建立在 hadoop 上的資料倉儲基礎架構和解決方案

o 架構:支援拿來即用,亦支援靈活的引數和計算引擎的變更作用

o 拿出了資料倉儲構建的完整解決方案意義

o 基於hadoop平台解決了企業資料倉儲構建的核心技術問題,證明了hadoop平台的強大。

o 進一步降低了hadoop使用的准入門檻。

driver: hive核心驅動器介面類,銜接ui與核心的解析、優化、執行器的橋梁,生成的查詢計畫儲存在hdfs中,並在隨後由map/reduce呼叫執行。

driver 呼叫直譯器(compiler)處理 hiveql 字串,這些字串可能是一條 ddl、dml或查詢語句。編譯器將字串轉化為策略(plan)。策略僅由元資料操作 和 hdfs 操作組成,元資料操作只包含 ddl 語句,hdfs 操作只包含 load 語句。對插入和查詢而言,策略由 map/reduce 任務中的具有方向的非迴圈圖(directedacyclic graph,dag)組成,具體流程如下。

1)解析器(parser):將查詢字串轉化為解析樹表示式。

2)語義分析器(semantic analyzer):將解析樹表示式轉換為基於塊(block-based)的內部查詢表示式,將輸入表的模式(schema)資訊從 metastore 中進行恢復。用這些資訊驗證列名, 展開 select * 以及型別檢查(固定型別轉換也包含在此檢查中)。

3)邏輯策略生成器(logical plan generator):將內部查詢表示式轉換為邏輯策略,這些策略由邏輯操作樹組成。

4)優化器(optimizer):通過邏輯策略構造多途徑並以不同方式重寫。優化器的功能如下。

將多 multiple join 合併為乙個 multi-way join;

對join、group-by 和自定義的 map-reduce 操作重新進行劃分;

消減不必要的列;

在表掃瞄操作中推行使用斷言(predicate);

對於已分割槽的表,消減不必要的分割槽;

在抽樣(sampling)查詢中,消減不必要的桶。

此外,優化器還能增加區域性聚合操作用於處理大分組聚合(grouped aggregations)和 增加再分割槽操作用於處理不對稱(skew)的分組聚合。

DHCP概述及原理

概述 dhcp是動態主機配置協議,由ietf internet網路工程師任務小組 組織制定,用來簡化主機位址分配管理。配置dhcp位址分配服務 1 安裝dhcp包 root localhost yum y install dhcp2 修改配置檔案 etc dhcp dhcpd.conf root l...

salesforce 架構設計 從架構設計到架構師

因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...

mysql架構設計 初識mysql架構設計

一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...