《Hadoop構建資料倉庫實踐》PDF新書推介,附帶連結地址
第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.3 Data Vault模型 42
2.3.1 Data Vault模型簡介 42
2.3.2 Data Vault模型的組成部分 43
2.3.3 Data Vault模型的特點 44
2.3.4 Data Vault模型的構建 44
2.3.5 Data Vault模型例項 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.2 Hadoop簡介 56
3.2.1 Hadoop的構成 57
3.2.2 Hadoop的主要特點 58
3.2.3 Hadoop架構 58
3.3 Hadoop基本元件 59
3.3.1 HDFS 60
3.3.2 MapReduce 65
3.3.3 YARN 72
3.4 Hadoop生態圈的其他元件 77
3.5 Hadoop與資料倉庫 81
3.5.1 關係資料庫的可擴充套件性瓶頸 82
3.5.2 CAP理論 84
3.5.3 Hadoop資料倉庫工具 85
3.6 小結 88
第4章 安裝Hadoop
4.1 Hadoop主要發行版本 89
4.1.1 Cloudera Distribution for Hadoop(CDH) 89
4.1.2 Hortonworks Data Platform(HDP) 90
4.1.3 MapR Hadoop 90
4.2 安裝Apache Hadoop 91
4.2.1 安裝環境 91
4.2.2 安裝前準備 92
4.2.3 安裝配置Hadoop 93
4.2.4 安裝後配置 97
4.2.5 初始化及執行 97
4.3 配置HDFS Federation 99
4.4 離線安裝CDH及其所需的服務 104
4.4.1 CDH安裝概述 104
4.4.2 安裝環境 106
4.4.3 安裝配置 106
4.4.4 Cloudera Manager許可證管理 114
4.5 小結 115
第5章 Kettle與Hadoop
5.1 Kettle概述 117
5.2 Kettle連線Hadoop 119
5.2.1 連線HDFS 119
5.2.2 連線Hive 124
5.3 匯出匯入Hadoop叢集資料 128
5.3.1 把資料從HDFS抽取到RDBMS 128
5.3.2 向Hive表匯入資料 132
5.4 執行Hive的HiveQL語句 134
5.5 MapReduce轉換示例 135
5.6 Kettle提交Spark作業 143
5.6.1 安裝Spark 143
5.6.2 配置Kettle向Spark叢集提交作業 146
5.7 小結 149
第6章 建立資料倉庫示例模型
6.1 業務場景 150
6.2 Hive相關配置 152
6.2.1 選擇檔案格式 152
6.2.2 支援行級更新 159
6.2.3 Hive事務支援的限制 164
6.3 Hive表分類 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.1 Sqoop簡介 200
7.5.2 CDH 5.7.0中的Sqoop 203
7.5.3 使用Sqoop抽取資料 203
7.5.4 Sqoop優化 207
7.6 小結 208
第8章 資料轉換與裝載
8.1 資料清洗 210
8.2 Hive簡介 214
8.2.1 Hive的體系結構 215
8.2.2 Hive的工作流程 216
8.2.3 Hive伺服器 218
8.2.4 Hive客戶端 221
8.3 初始裝載 231
8.4 定期裝載 236
8.5 Hive優化 246
8.6 小結 254
第9章 定期自動執行ETL作業
9.1 crontab 256
9.2 Oozie簡介 260
9.2.1 Oozie的體系結構 260
9.2.2 CDH 5.7.0中的Oozie 262
9.3 建立定期裝載工作流 262
9.4 建立協調器作業定期自動執行工作流 271
9.5 Oozie優化 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.2 Impala簡介 371
12.3 Hive、SparkSQL、Impala比較 377
12.3.1 Spark SQL簡介 377
12.3.2 Hive、Spark SQL、Impala比較 379
12.3.3 Hive、Spark SQL、Impala效能對比 382
12.4 聯機分析處理例項 387
12.5 Apache Kylin與OLAP 399
12.5.1 Apache Kylin架構 399
12.5.2 Apache Kylin安裝 401
12.6 小結 407
第13章 資料視覺化
13.1 資料視覺化簡介 408
13.2 Hue簡介 410
13.2.1 Hue功能快速預覽 411
13.2.2 配置元資料儲存 412
13.3 Zeppelin簡介 415
13.3.1 Zeppelin架構 415
13.3.2 Zeppelin安裝配置 416
13.3.3 在Zeppelin中新增MySQL翻譯器 421
13.4 Hue、Zeppelin比較 425
13.5 資料視覺化例項 426
13.6 小結 434