《Hadoop構建數據倉庫實踐》是2017年清華大學出版社出版的圖書,作者是王雪迎。
基本介紹
- 書名:Hadoop構建數據倉庫實踐
- 作者:王雪迎
- ISBN:9787302469803
- 頁數:434
- 定價:70.00
- 出版社:清華大學出版社
- 出版時間:2017.06.01
- 裝幀:平裝
- 印刷日期:2017.05.27
內容介紹,圖書目錄,
內容介紹
本書講述在流行的大數據分散式存儲和計算平台Hadoop上設計實現數據倉庫,將傳統數據倉庫建模與SQL開發的簡單性與大數據技術相結合,快速、高效地建立可擴展的數據倉庫及其套用系統。 本書內容包括數據倉庫、Hadoop及其生態圈的相關概念,使用Sqoop從關係資料庫全量或增量抽取數據,使用HIVE進行數據轉換和裝載處理,使用Oozie調度作業周期性執行,使用Impala進行快速在線上數據分析,使用Hue將數據可視化,以及數據倉庫中的漸變維(SCD)、代理鍵、角色扮演維度、層次維度、退化維度、無事實的事實表、遲到的事實、累積的度量等常見問題在Hadoop上的處理等。本書適合資料庫管理員、大數據技術人員、Hadoop技術人員、數據倉庫技術人員,也適合高等院校和培訓機構相關專業的師生教學參考。
圖書目錄
目錄
第1章數據倉庫簡介
1.1什麼是數據倉庫1
1.1.1數據倉庫的定義1
1.1.2建立數據倉庫的原因3
1.2操作型系統與分析型系統5
1.2.1操作型系統5
1.2.2分析型系統8
1.2.3操作型系統和分析型系統對比9
1.3數據倉庫架構10
1.3.1基本架構10
1.3.2主要數據倉庫架構12
1.3.3運算元據存儲16
1.4抽取-轉換-裝載17
1.4.1數據抽取17
1.4.2數據轉換19
1.4.3數據裝載20
1.4.4開發ETL系統的方法21
1.4.5常見ETL工具21
1.5數據倉庫需求22
1.5.1基本需求22
1.5.2數據需求23
1.6小結24
第2章數據倉庫設計基礎
2.1關係數據模型25
2.1.1關係數據模型中的結構25
2.1.2關係完整性28
2.1.3規範化30
2.1.4關係數據模型與數據倉庫33
2.2維度數據模型34
2.2.1維度數據模型建模過程35
2.2.2維度規範化36
2.2.3維度數據模型的特點37
2.2.4星型模式38
2.2.5雪花模式40
2.3DataVault模型42
2.3.1DataVault模型簡介42
2.3.2DataVault模型的組成部分43
2.3.3DataVault模型的特點44
2.3.4DataVault模型的構建44
2.3.5DataVault模型實例46
2.4數據集市49
2.4.1數據集市的概念50
2.4.2數據集市與數據倉庫的區別50
2.4.3數據集市設計50
2.5數據倉庫實施步驟51
2.6小結54
第3章Hadoop生態圈與數據倉庫
3.1大數據定義55
3.2Hadoop簡介56
3.2.1Hadoop的構成57
3.2.2Hadoop的主要特點58
3.2.3Hadoop架構58
3.3Hadoop基本組件59
3.3.1HDFS60
3.3.2MapReduce65
3.3.3YARN72
3.4Hadoop生態圈的其他組件77
3.5Hadoop與數據倉庫81
3.5.1關係資料庫的可擴展性瓶頸82
3.5.2CAP理論84
3.5.3Hadoop數據倉庫工具85
3.6小結88
第4章安裝Hadoop
4.1Hadoop主要發行版本89
4.1.1ClouderaDistributionforHadoop(CDH)89
4.1.2HortonworksDataPlatform(HDP)90
4.1.3MapRHadoop90
4.2安裝ApacheHadoop91
4.2.1安裝環境91
4.2.2安裝前準備92
4.2.3安裝配置Hadoop93
4.2.4安裝後配置97
4.2.5初始化及運行97
4.3配置HDFSFederation99
4.4離線安裝CDH及其所需的服務104
4.4.1CDH安裝概述104
4.4.2安裝環境106
4.4.3安裝配置106
4.4.4ClouderaManager許可證管理114
4.5小結115
第5章Kettle與Hadoop
5.1Kettle概述117
5.2Kettle連線Hadoop119
5.2.1連線HDFS119
5.2.2連線Hive124
5.3導出導入Hadoop集群數據128
5.3.1把數據從HDFS抽取到RDBMS128
5.3.2向Hive表導入數據132
5.4執行Hive的HiveQL語句134
5.5MapReduce轉換示例135
5.6Kettle提交Spark作業143
5.6.1安裝Spark143
5.6.2配置Kettle向Spark集群提交作業146
5.7小結149
第6章建立數據倉庫示例模型
6.1業務場景150
6.2Hive相關配置152
6.2.1選擇檔案格式152
6.2.2支持行級更新159
6.2.3Hive事務支持的限制164
6.3Hive表分類164
6.4向Hive表裝載數據169
6.5建立資料庫表174
6.6裝載日期維度數據179
6.7小結180
第7章數據抽取
7.1邏輯數據映射182
7.2數據抽取方式185
7.3導出成文本檔案191
7.4分散式查詢196
7.5使用Sqoop抽取數據200
7.5.1Sqoop簡介200
7.5.2CDH5.7.0中的Sqoop203
7.5.3使用Sqoop抽取數據203
7.5.4Sqoop最佳化207
7.6小結208
第8章數據轉換與裝載
8.1數據清洗210
8.2Hive簡介214
8.2.1Hive的體系結構215
8.2.2Hive的工作流程216
8.2.3Hive伺服器218
8.2.4Hive客戶端221
8.3初始裝載231
8.4定期裝載236
8.5Hive最佳化246
8.6小結254
第9章定期自動執行ETL作業
9.1crontab256
9.2Oozie簡介260
9.2.1Oozie的體系結構260
9.2.2CDH5.7.0中的Oozie262
9.3建立定期裝載工作流262
9.4建立協調器作業定期自動執行工作流271
9.5Oozie最佳化275
9.6小結276
第10章維度表技術
10.1增加列278
10.2維度子集285
10.3角色扮演維度292
10.4層次維度298
10.4.1固定深度的層次299
10.4.2遞歸302
10.4.3多路徑層次310
10.4.4參差不齊的層次312
10.5退化維度313
10.6雜項維度316
10.7維度合併323
10.8分段維度329
10.9小結335
第11章事實表技術
11.1事實表概述336
11.2周期快照337
11.3累積快照343
11.4無事實的事實表349
11.5遲到的事實354
11.6累積度量360
11.7小結366
第12章在線上分析處理
12.1在線上分析處理簡介367
12.1.1概念367
12.1.2分類368
12.1.3性能371
12.2Impala簡介371
12.3Hive、SparkSQL、Impala比較377
12.3.1SparkSQL簡介377
12.3.2Hive、SparkSQL、Impala比較379
12.3.3Hive、SparkSQL、Impala性能對比382
12.4在線上分析處理實例387
12.5ApacheKylin與OLAP399
12.5.1ApacheKylin架構399
12.5.2ApacheKylin安裝401
12.6小結407
第13章數據可視化
13.1數據可視化簡介408
13.2Hue簡介410
13.2.1Hue功能快速預覽411
13.2.2配置元數據存儲412
13.3Zeppelin簡介415
13.3.1Zeppelin架構415
13.3.2Zeppelin安裝配置416
13.3.3在Zeppelin中添加MySQL翻譯器421
13.4Hue、Zeppelin比較425
13.5數據可視化實例426
13.6小結434