大數據分析 — 數據倉庫項目實戰

尚硅谷IT教育

買這商品的人也買了...

商品描述

本書按照需求規劃、需求實現、需求可視化的流程進行編排,遵循項目開發的實際流程,全面介紹了數據倉庫的搭建過程。
在整個數據倉庫的搭建過程中,本書介紹了主要組件的安裝部署過程、需求實現的具體思路、部分問題的解決方案等,並在其中穿插了許多與大數據和數據倉庫相關的理論知識,包括大數據概論、數據倉庫概論、電商業務概述、數據倉庫理論準備、數據倉庫建模等。
本書從邏輯上可以分為三部分:
第一部分是大數據與數據倉庫概論及項目需求描述,主要介紹了數據倉庫的概念、應用場景和搭建需求;
第二部分是項目部署的環境準備,介紹瞭如何從零開始搭建一個完整的數據倉庫環境;
第三部分是需求模塊實現,針對不同需求分模塊進行實現,是本書的重點部分。
本書適合具有一定的編程基礎並對大數據感興趣的讀者閱讀。
通過閱讀本書,讀者可以快速瞭解數據倉庫,全面掌握數據倉庫的相關技術。

作者簡介

尚矽谷IT教育是一家專業的IT教育培訓機構,開設了JavaEE、大數據、HTML5前端等多門學科,在互聯網上發布的JavaEE、大數據、HTML5前端、區塊鏈、C語言、Python等技術視頻教程廣受讚譽。

目錄大綱

第1章大數據與數據倉庫概論 1
1.1 大數據概論 1
1.1.1 什麼是大數據 1
1.1.2 大數據生態圈簡介 2
1.1.3 大數據應用場景 3
1.2 數據倉庫概論 4
1.2.1 什麼是數據倉庫 4
1.2.2 數據倉庫能幹什麼 4
1.2.3 數據倉庫的特點 5
1.3 學前導讀 6
1.3.1 學習的基礎要求 6
1.3.2 你將學到什麼 7
1.4 本章總結 7

第2章項目需求描述 8
2.1 任務概述 8
2.1.1 產品描述 9
2.1.2 系統目標 9
2.1.3 系統功能結構 9
2.1.4 系統流程圖10
2.2 業務描述10
2.2.1 採集模塊業務描述10
2.2.2 數據倉庫需求業務描述16
2.2.3 數據可視化業務描述17
2.3 系統運行環境17
2.3.1 硬件環境17
2.3.2 軟件環境18
2.4 本章總結20

第3章項目部署的環境準備21
3.1 Linux環境準備21
3.1.1 VMware安裝21
3.1.2 CentOS安裝21
3.1.3 遠程終端安裝31
3.2 Linux環境配置34
3.2.1 網絡配置34
3.2.2 網絡IP地址配置35
3.2.3 主機名配置36
3.2.4 防火牆配置37
3.2.5 一般用戶設置38
3.3 Hadoop環境搭建38
3.3.1 虛擬機環境準備39
3.3.2 JDK安裝45
3.3.3 Hadoop安裝46
3.3.4 Hadoop分佈式集群部署47
3.3.5 配置Hadoop支持LZO壓縮52
3.3.6 配置Hadoop支持Snappy壓縮53
3.4 本章總結54

第4章用戶行為數據採集模塊55
4.1 日誌生成55
4.2 採集日誌的Flume 57
4.2.1 Flume組件58
4.2.2 Flume安裝58
4.2.3 採集日誌Flume配置59
4.2.4 Flume的ETL攔截器和日誌類型區分攔截器61
4.2.5 採集日誌Flume啟動、停止腳本67
4.3 消息隊列Kafka 68
4.3.1 Zookeeper安裝68
4.3.2 Zookeeper集群啟動、停止腳本70
4.3.3 Kafka安裝71
4.3.4 Kafka集群啟動、停止腳本73
4.3.5 Kafka Topic相關操作74
4.4 消費Kafka日誌的Flume 75
4.4.1 消費日誌Flume配置75
4.4.2 消費日誌Flume啟動、停止腳本78
4.5 採集通道啟動、停止腳本79
4.6 本章總結80

第5章業務數據採集模塊81
5.1 電商業務概述81
5.1.1 電商業務流程81
5.1.2 電商常識82
5.1.3 電商表結構82
5.1.4 數據同步策略89
5.2 業務數據採集90
5.2.1 MySQL安裝90
5.2.2 業務數據生成92
5.2.3 業務數據建模94
5.2.4 Sqoop安裝96
5.2.5 業務數據導入數據倉庫97
5.3 本章總結109

第6章數據倉庫搭建模塊110
6.1 數據倉庫理論準備110
6.1.1 範式理論110
6.1.2 關係模型與維度模型113
6.1.3 星形模型、雪花模型與星座模型114
6.1.4 表的分類116
6.1.5 為什麼要分層117
6.1.6 數據倉庫建模118
6.1.7 業務術語121
6.2 數據倉庫搭建環境準備123
6.2.1 MySQL HA 123
6.2.2 Hive安裝130
6.2.3 Tez引擎安裝134
6.3 數據倉庫搭建——ODS層138
6.3.1 創建數據庫138
6.3.2 用戶行為數據138
6.3.3 ODS層用戶行為數據導入腳本141
6.3.4 業務數據142
6.3.5 ODS層業務數據導入腳本151
6.4 數據倉庫搭建——DWD層154
6.4.1 用戶行為啟動日誌表解析154
6.4.2 用戶行為事件表拆分157
6.4.3 用戶行為事件表解析167
6.4.4 業務數據維度表解析189
6.4.5 業務數據事實表解析195
6.4.6 拉鍊表構建之用戶維度表209
6.4.7 DWD層數據導入腳本214
6.5 數據倉庫搭——DWS層223
6.5.1 系統函數223
6.5.2 用戶行為數據聚合224
6.5.3 業務數據聚合226
6.5.4 DWS層數據導入腳本237
6.6 數據倉庫搭建——DWT層246
6.6.1 設備主題寬表247
6.6.2 會員主題寬表249
6.6.3 商品主題寬表251
6.6.4 優惠券主題寬表254
6.6.5 活動主題寬表256
6.6.6 DWT層數據導入腳本258
6.7 數據倉庫搭建——ADS層264
6.7.1 設備主題264
6.7.2 會員主題272
6.7.3 商品主題275
6.7.4 營銷主題279
6.7.5 ADS層數據導入腳本283
6.8 結果數據導出腳本291
6.9 會員主題指標獲取的全調度流程293
6.9.1 Azkaban安裝293
6.9.2 創建可視化的MySQL數據庫和表300
6.9.3 編寫指標獲取調度流程301
6.10 本章總結306

第7章數據可視化模塊307
7.1 模擬可視化數據307
7.1.1 會員主題307
7.1.2 地區主題308
7.2 Superset部署310
7.2.1 環境準備310
7.2.2 Superset安裝312
7.3 Superset使用314
7.3.1 對接MySQL數據源314
7.3.2 製作儀錶盤317
7.4 本章總結322

第8章即席查詢模塊323
8.1 Presto 323
8.1.1 Presto特點323
8.1.2 Presto安裝324
8.1.3 Presto優化之數據存儲328
8.1.4 Presto優化之查詢SQL 329
8.1.5 Presto注意事項330
8.2 Druid 330
8.2.1 Druid簡介330
8.2.2 Druid框架原理331
8.2.3 Druid數據結構332
8.2.4 Druid安裝(單機版) 333
8.3 Kylin 338
8.3.1 Kylin簡介338
8.3.2 HBase安裝339
8.3.3 Kylin安裝341
8.3.4 Kylin使用343
8.3.5 Kylin Cube構建原理353
8.3.6 Kylin Cube構建優化356
8.3.7 Kylin BI工具集成360
8.4 即席查詢框架對比367
8.5 本章總結368

第9章元數據管理模塊369
9.1 Atlas入門369
9.1.1 Atlas概述369
9.1.2 Atlas架構原理370
9.2 Atlas安裝及使用371
9.2.1 安裝前環境準備371
9.2.2 集成外部框架373
9.2.3 集群啟動377
9.2.4 導入Hive元數據到Atlas 377
9.3 Atlas界面查看及使用378
9.3.1 查看基本信息378
9.3.2 查看血緣依賴關係381
9.4 本章總結386