剑指大数据——企业级数据仓库项目实战(在线教育版)
定 价:105 元
丛书名:程序员硬核技术丛书
- 作者:尚硅谷教育
- 出版时间:2023/8/1
- ISBN:9787121459375
- 出 版 社:电子工业出版社
- 中图法分类:TP311.13
- 页码:360
- 纸张:
- 版次:01
- 开本:16开
本书从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了在线教育行业离线数据仓库的搭建过程。在整个数据仓库的搭建过程中,介绍了主要组件的安装部署、需求实现的具体思路、问题的解决方案等,并在其中穿插了许多大数据和数据仓库相关的理论知识,包括数据仓库的概念介绍、在线教育业务概述、数据仓库理论介绍和数据仓库建模等。本书的第1章至第3章是项目前期准备阶段,主要为读者介绍了数据仓库的概念、应用场景和搭建需求等,并初步搭建了数据仓库项目所需的基本环境;第4章至第6章是数据仓库搭建的核心部分,详细讲解了数据仓库建模理论和数据从采集到分层搭建的全过程;第7章和第8章介绍了全流程调度和指标可视化。本书适合具有一定编程基础的读者学习。通过阅读本书,读者可以快速地了解数据仓库,全面掌握数据仓库的相关技术。
尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
第1章 大数据与数据仓库概论 1
1.1 什么是数据仓库 1
1.2 数据仓库的演进历史 2
1.3 数据仓库技术 4
1.4 数据仓库基本架构 5
1.5 数据库和数据仓库的区别 8
1.6 学前导读 9
1.6.1 学习的基础要求 9
1.6.2 你将学到什么 9
1.7 本章总结 10
第2章 项目需求描述 11
2.1 前期调研 11
2.2 项目架构分析 12
2.2.1 在线教育数据仓库产品描述 12
2.2.2 系统功能结构 13
2.2.3 系统流程图 13
2.3 项目业务概述 14
2.3.1 采集模块业务描述 14
2.3.2 数据仓库需求业务描述 15
2.3.3 数据可视化业务描述 16
2.4 系统运行环境 17
2.4.1 硬件环境 17
2.4.2 软件环境 18
2.5 本章总结 20
第3章 项目部署的环境准备 21
3.1 Linux环境准备 21
3.1.1 安装VMware 21
3.1.2 安装CentOS 21
3.1.3 远程终端安装 30
3.2 Linux环境配置 33
3.2.1 网络配置 33
3.2.2 网络IP地址配置 34
3.2.3 主机名配置 35
3.2.4 防火墙配置 36
3.2.5 一般用户设置 36
3.3 Hadoop环境搭建 37
3.3.1 虚拟机环境准备 37
3.3.2 安装JDK 42
3.3.3 安装Hadoop 43
3.3.4 Hadoop分布式集群部署 44
3.4 本章总结 50
第4章 用户行为数据采集模块 51
4.1 日志生成 51
4.1.1 数据埋点 51
4.1.2 用户行为日志格式 52
4.1.3 安装MySQL 57
4.1.4 数据模拟 59
4.2 消息队列Kafka 66
4.2.1 安装ZooKeeper 66
4.2.2 ZooKeeper集群启动、停止脚本 67
4.2.3 安装Kafka 68
4.2.4 Kafka集群启动、停止脚本 70
4.2.5 Kafka topic相关操作 70
4.3 采集日志的Flume 71
4.3.1 Flume组件 72
4.3.2 安装Flume 72
4.3.3 采集日志Flume配置 73
4.3.4 Flume的拦截器 74
4.3.5 采集日志Flume启动、停止脚本 77
4.4 消费Kafka日志的Flume 79
4.4.1 日志消费层Flume配置 79
4.4.2 时间戳拦截器 81
4.4.3 日志消费层Flume启动、停止脚本 83
4.4.4 数据通道测试 83
4.5 采集通道启动、停止脚本 84
4.6 本章总结 86
第5章 业务数据采集模块 87
5.1 在线教育业务概述 87
5.1.1 在线教育业务流程 87
5.1.2 在线教育表结构 88
5.1.3 数据同步策略 96
5.1.4 数据同步工具选择 98
5.2 业务数据采集 99
5.2.1 业务数据模型梳理 99
5.2.2 安装DataX 102
5.2.3 安装Maxwell 104
5.2.4 全量数据同步 108
5.2.5 增量数据同步 116
5.3 数据采集流程总结 126
5.4 本章总结 129
第6章 数据仓库搭建模块 130
6.1 数据仓库理论准备 130
6.1.1 数据建模概述 130
6.1.2 关系模型与范式理论 131
6.1.3 维度模型 134
6.1.4 维度建模理论之事实表 136
6.1.5 维度建模理论之维度表 138
6.1.6 星形模型、雪花模型与星座模型 141
6.2 数据仓库建模实践 142
6.2.1 名词概念 142
6.2.2 为什么要分层 144
6.2.3 数据仓库构建流程 144
6.2.4 数据仓库开发规范 150
6.3 数据仓库搭建环境准备 154
6.3.1 安装Hive 154
6.3.2 Hive on Spark配置 157
6.3.3 YARN容量调度器并发度问题 159
6.3.4 数据仓库开发环境配置 159
6.3.5 模拟数据准备 162
6.3.6 常用函数 164
6.3.7 复杂数据类型 166
6.4 数据仓库搭建——ODS层 167
6.4.1 用户行为数据 167
6.4.2 ODS层用户行为数据导入脚本 169
6.4.3 业务数据 170
6.4.4 ODS层业务数据导入脚本 179
6.5 数据仓库搭建——DIM层 181
6.5.1 章节维度表(全量) 181
6.5.2 课程维度表(全量) 182
6.5.3 视频维度表(全量) 184
6.5.4 试卷维度表(全量) 185
6.5.5 来源维度表(全量) 186
6.5.6 题目维度表(全量) 186
6.5.7 地区维度表(全量) 187
6.5.8 时间维度表(特殊) 188
6.5.9 用户维度表(拉链表) 189
6.5.10 DIM层首日数据装载脚本 193
6.5.11 DIM层每日数据装载脚本 193
6.6 数据仓库搭建——DWD层 194
6.6.1 交易域加购事务事实表 194
6.6.2 交易域加购周期快照事实表 197
6.6.3 交易域试听下单累积快照事实表 198
6.6.4 交易域下单事务事实表 203
6.6.5 交易域支付成功事务事实表 208
6.6.6 流量域页面浏览事务事实表 212
6.6.7 流量域启动事务事实表 213
6.6.8 流量域动作事务事实表 215
6.6.9 流量域曝光事务事实表 217
6.6.10 流量域错误事务事实表 219
6.6.11 互动域收藏事务事实表 221
6.6.12 互动域章节评价事务事实表 222
6.6.13 互动域课程评价事务事实表 223
6.6.14 考试域答卷事务事实表 224
6.6.15 考试域答题事务事实表 226
6.6.16 学习域播放周期快照事实表 227
6.6.17 学习域播放事务事实表 232
6.6.18 用户域用户注册事务事实表 234
6.6.19 用户域用户登录事务事实表 237
6.6.20 DWD层首日数据装载脚本 238
6.6.21 DWD层每日数据装载脚本 239
6.7 数据仓库搭建——DWS层 239
6.7.1 最近1日汇总表 240
6.7.2 最近n日汇总表 250
6.7.3 历史至今汇总表 254
6.8 数据仓库搭建——ADS层 257
6.8.1 流量主题指标 257
6.8.2 用户主题指标 262
6.8.3 课程主题指标 269
6.8.4 交易主题指标 278
6.8.5 考试主题指标 280
6.8.6 播放主题指标 285
6.8.7 完课主题指标 287
6.8.8 ADS层数据导入脚本 291
6.9 数据模型评价及优化 291
6.10 本章总结 292
第7章 DolphinScheduler全流程调度 293
7.1 DolphinScheduler概述与安装 293
7.1.1 DolphinScheduler概述 293
7.1.2 DolphinScheduler安装部署 294
7.2 报表数据导出 300
7.2.1 创建MySQL数据库和表 300
7.2.2 DataX数据导出 306
7.3 全调度流程 316
7.3.1 数据准备 316
7.3.2 全流程调度配置 316
7.4 邮件报警 324
7.4.1 注册邮箱 324
7.4.2 配置邮件报警 325
7.5 本章总结 328
第8章 数据可视化模块 329
8.1 Superset部署 329
8.1.1 环境准备 329
8.1.2 Superset安装 330
8.2 Superset使用 334
8.2.1 对接MySQL数据源 334
8.2.2 制作仪表盘 337
8.3 Superset实战 342
8.3.1 制作饼状图 343
8.3.2 制作折线图 344
8.3.3 制作桑基图 345
8.3.4 合成仪表盘页面 347
8.4 ECharts可视化 348
8.5 本章总结 349