Hive——01:Hive、數倉介紹

01 Hive的基本介紹

1、hive產生的原因

· a) 方便對文件及數據的元數據進行管理,提供統一的元數據管理方式

​ b) 提供更加簡單的方式來訪問大規模的數據集,使用SQL語言進行數據分析

2、hive是什麼?

The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

​ Hive經常被大數據企業用作企業級數據倉庫。

​ Hive在使用過程中是使用SQL語句來進行數據分析,由SQL語句到具體的任務執行還需要經過解釋器,編譯器,優化器,執行器四部分才能完成。

​ (1)解釋器:調用語法解釋器和語義分析器將SQL語句轉換成對應的可執行的java代碼或者業務代碼

​ (2)編譯器:將對應的java代碼轉換成字節碼文件或者jar包

​ (3)優化器:從SQL語句到java代碼的解析轉化過程中需要調用優化器,進行相關策略的優化,實現最優的 查詢性能

​ (4)執行器:當業務代碼轉換完成之後,需要上傳到MapReduce的集羣中執行

3、數據倉庫–Hive(簡單瞭解即可)

1、數據倉庫基本概念

​ 數據倉庫,英文名稱爲Data Warehouse,可簡寫爲DW或DWH。數據倉庫,是爲企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。它是單個數據存儲,出於分析性報告和決策支持目的而創建。 爲需要業務智能的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。

2、數據處理分類:OLAP與OLTP

​ 數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。

3、OLTP

​ OLTP,也叫聯機事務處理(Online Transaction Processing),表示事務性非常高的系統,一般都是高可用的在線系統,以小的事務以及小的查詢爲主,評估其系統的時候,一般看其每秒執行的Transaction以及Execute SQL的數量。在這樣的系統中,單個數據庫每秒處理的Transaction往往超過幾百個,或者是幾千個,Select 語句的執行量每秒幾千甚至幾萬個。典型的OLTP系統有電子商務系統、銀行、證券等,如美國eBay的業務數據庫,就是很典型的OLTP數據庫。

4、OLAP

​ OLAP(On-Line Analysis Processing)在線分析處理是一種共享多維信息的快速分析技術;OLAP利用多維數據庫技術使用戶從不同角度觀察數據;OLAP用於支持複雜的分析操作,側重於對管理人員的決策支持,可以滿足分析人員快速、靈活地進行大數據復量的複雜查詢的要求,並且以一種直觀、易懂的形式呈現查詢結果,輔助決策。

基本概念:

​ 度量:數據度量的指標,數據的實際含義
​ 維度:描述與業務主題相關的一組屬性
​ 事實:不同維度在某一取值下的度量

特點:

​ (1)快速性:用戶對OLAP的快速反應能力有很高的要求。系統應能在5秒內對用戶的大部分分析要求做出反 應。
​ (2)可分析性:OLAP系統應能處理與應用有關的任何邏輯分析和統計分析。

​ (3)多維性:多維性是OLAP的關鍵屬性。系統必須提供對數據的多維視圖和分析,包括對層次維和多重層次 維的完全支持。
​ (4)信息性:不論數據量有多大,也不管數據存儲在何處,OLAP系統應能及時獲得信息,並且管理大容量信 息。

分類:

​ 按照存儲方式分類:

​ ROLAP:關係型在線分析處理

​ MOLAP:多維在線分析處理

​ HOLAP:混合型在線分析處理

​ 按照處理方式分類:

​ Server OLAP和Client OLAP

操作:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

​ 鑽取:在維的不同層次間的變化,從上層降到下一層,或者說將彙總數據拆分到更細節的數據,比如通過 對2019年第二季度的總銷售數據進行鑽取來查看2019年4,5,6,每個月的消費數據,再例如可以鑽取 浙江省來查看杭州市、溫州市、寧波市…這些城市的銷售數據
​ 上卷:鑽取的逆操作,即從細粒度數據向更高彙總層的聚合,如將江蘇省、上海市、浙江省的銷售數據進 行彙總來查看江浙滬地區的銷售數據
​ 切片:選擇維中特定的值進行分析,比如只選擇電子產品的銷售數據或者2019年第二季度的數據
​ 切塊:選擇維中特定區間的數據或者某批特定值進行分析,比如選擇2019年第一季度到第二季度的銷售數 據或者是電子產品和日用品的銷售數據
​ 旋轉:維的位置互換,就像是二維表的行列轉換,比如通過旋轉來實現產品維和地域維的互換

4、數據庫與數據倉庫的區別

注意:前三條重點掌握理解,後面的瞭解即可

​ 1、數據庫是對業務系統的支撐,性能要求高,相應的時間短,而數據倉庫則對響應時間沒有太多的要求,當然也是越快越好

​ 2、數據庫存儲的是某一個產品線或者某個業務線的數據,數據倉庫可以將多個數據源的數據經過統一的規則清洗之後進行集中統一管理

​ 3、數據庫中存儲的數據可以修改,無法保存各個歷史時刻的數據,數據倉庫可以保存各個時間點的數據,形成時間拉鍊表,可以對各個歷史時刻的數據做分析

​ 4、數據庫一次操作的數據量小,數據倉庫操作的數據量大

​ 5、數據庫使用的是實體-關係(E-R)模型,數據倉庫使用的是星型模型或者雪花模型

​ 6、數據庫是面向事務級別的操作,數據倉庫是面向分析的操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章