1. 程式人生 > 其它 >HIVE入門(概述、hive的體系結構)

HIVE入門(概述、hive的體系結構)

第一章 概述

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等