Hadoop 構建數據倉庫實踐 (Practice of Hadoop data warehouse)

Hadoop 構建數據倉庫實踐 (Practice of Hadoop data warehouse)

作者: 王雪迎
出版社: 清華大學
出版在: 2017-07-01
ISBN-13: 9787302469803
ISBN-10: 7302469806
裝訂格式: 平裝
總頁數: 434 頁





內容描述


本書講述在流行的大數據分佈式存儲和計算平臺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.3 Data Vault模型42 
2.3.1 Data Vault模型簡介42 
2.3.2 Data Vaul t模型的組成部分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


作者介紹


王雪迎,畢業於中國地質大學計算機專業,高級工程師,擁有20年數據庫、數據倉庫相關技術經驗。曾先後供職於北京現代商業信息技術有限公司、北京在線九州信息技術服務有限公司、華北計算技術研究所、北京優貝在線網絡科技有限公司,擔任DBA、數據架構師等職位。




相關書籍

JavaScript 函數活用範例速查辭典 (jQuery & HTML5 應用)

作者 山田祥寛 許郁文 譯

2017-07-01

JavaScript & jQuery: Interactive Front-End Web Development (Hardcover)

作者 Jon Duckett

2017-07-01

Hands-On ASP.NET Core 2 and Vue.js: Create state of the art ASP.NET applications with Vue.js at the client side

作者 Stuart Ratcliffe

2017-07-01