HIVE入門(概述、hive的體系結構)
阿新 • • 發佈:2021-10-13
第一章 概述
1-1 課程概述
什麼是hive?
答:hive構建在hadoop hdfs 上的資料倉庫。
什麼是資料倉庫?
答:資料倉庫實際上就是一個數據庫,資料倉庫的特點:引入冗餘,分析資料;
資料庫的特點:避免冗餘,捕獲資料。
1-2 資料倉庫簡介
什麼是資料倉庫? 答:資料倉庫是一個面向主題的,整合的,不可更新的,隨時間不變化的資料集合, 它主要用於支援企業或組織的決策分析處理。 資料倉庫的結構和建立過程 答: 1、資料來源 (業務資料系統、文件資料、其他資料) 2、資料儲存及管理-ETL (抽取Extract、轉換Transform、裝載Load) 3、資料倉庫引擎 (伺服器) 4、前端展示 (資料查詢、資料報表、資料分析、各類應用) OLTP應用和OLAP應用 答: 1.OLTP(on-line transaction processing) 聯機事務處理 例:銀行轉賬 2.OLAP(on-line analytical processing) 聯機分析處理 例:商品推薦系統
資料倉庫中的資料模型
1、星型模型
2、雪花模型
1-3 什麼是hive
答:
hive是建立在hadoop hdfs 上的資料倉庫基礎架構。
hive可以用來進行資料提取轉化載入(ETL)。
hive提供了簡單的類似SQL的查詢語言(HQL),它允許熟悉SQL的使用者查詢資料。
hive允許熟悉MapReduce的開發者,
開發自定義的mapper和Reducer來處理富貴論壇地圖內建的mapper和reducer無法完成的複雜的分析工作。
hive是SQL引擎,它將SQL語句轉移成M/R job, 然後在Hadoop上執行。
hive表其實就是HDFS的目錄/檔案
第二章 HIVE的體系結構
2-1 hive的體系結構之元資料
hive的元資料
- hive將元資料儲存在資料庫中(metastore),支援mysql、derby等資料庫(mysql、derby、oracle)
- hive中的元資料包括表的名字、表的列和分割槽及其屬性,表的屬性(是否為外部表等),表的資料所在目錄等。
2-2 hive的體系結構之HQL的執行過程
直譯器、編譯器、優化器完成HQL查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。
生成的查詢計劃儲存在HDFS中,並在隨後又MapReduce呼叫生成。
2-3 hive的體系結構
hadoop - 用HDFS進行儲存,利用MapReduce進行計算 元資料儲存 (MetaStore) - 通常是儲存在關係資料庫 mysql,derby等