书籍作者:尚硅谷教育 | ISBN:9787121459375 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9630 |
创建日期:2024-04-14 | 发布日期:2024-04-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了在线教育行业离线数据仓库的搭建过程。在整个数据仓库的搭建过程中,介绍了主要组件的安装部署、需求实现的具体思路、问题的解决方案等,并在其中穿插了许多大数据和数据仓库相关的理论知识,包括数据仓库的概念介绍、在线教育业务概述、数据仓库理论介绍和数据仓库建模等。本书的第1章至第3章是项目前期准备阶段,主要为读者介绍了数据仓库的概念、应用场景和搭建需求等,并初步搭建了数据仓库项目所需的基本环境;第4章至第6章是数据仓库搭建的核心部分,详细讲解了数据仓库建模理论和数据从采集到分层搭建的全过程;第7章和第8章介绍了全流程调度和指标可视化。本书适合具有一定编程基础的读者学习。通过阅读本书,读者可以快速地了解数据仓库,全面掌握数据仓库的相关技术。
尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了在线教育行业离线数据仓库的搭建过程。
在线教育,即互联网远程线上学习,指的是用户通过互联网传播知识和学习知识的一种方法。在线教育市场拥有多个细分领域,包括学前教育、K12教育(基础教育)、高等教育、留学教育、职业培训、语言教育等,其中K12教育、职业培训和语言教育占据了主要地位,市场占比也最高。近年来,居民教育消费意愿有显著提升,体现为中国家长对于子女教育越来越重视、居民对于自我提升的需求也越来越大。
随着互联网技术的迅猛发展,人们的生活习惯发生了重大变化。跨越空间的生活、工作和学习方式得以实现,知识获取的方式已经发生了根本性的变化,知识的传播不再受时间和空间的限制。越来越多的在线教育企业不断涌现,在线教育行业已经进入到快速发展期。
大数据技术发展至今,已经在各行各业都得到了充分应用,并且已经大大改变了各行各业的业务方式,众多大型企业利用大数据提升了它们的行业地位。随着时间的推移,在线教育行业中的数据量也在逐渐积累增加,已经有越来越多的在线教育企业利用大数据为自己的业务决策提供支持。在线教育行业中应用大数据分析,有助于评估用户体验、指导项目开发人员进一步改进;通过课程表现的有效反馈,帮助创作者进一步调整课程内容,提升课程质量;可以追踪学生的实时表现、评估学习效果,有助于教育管理者了解学生、帮助学生。构建数据仓库是企业开始使用大数据分析的第一步,是大数据领域的重点项目。在了解了数据仓库的全开发流程后,用户就可以更透彻地了解大数据的各项特点。在知晓了大数据的各项特点后,对于大数据的传输、存储和分析计算等各种操作也就更有的放矢,知道如何针对不同的数据特点设计合理的数据仓库架构。
继《剑指大数据——企业级数据仓库项目实战(电商版)》出版后,本书是尚硅谷教育推出的第二本项目实战图书。在现在的图书市场中,理论书籍相当丰富,但缺乏项目开发指导书籍,本书便应运而生。
技术开发人员在开展项目前,都需要查阅大量的资料,获取足够多的项目开发经验和架构设计思路。本书以在线教育行业为核心,从项目需求分析入手,以项目需求驱动架构设计、框架选型和数据模型设计。
本书着重讲解了在线教育的数据种类与结构、数据建模过程、数据仓库搭建详细流程,以及全流程自动化调度和可视化图表的构建。对于数据仓库建设中必不可少的数据治理部分,如元数据管理、权限管理、数据质量管理、集群监控和安全认证等功能,读者可以参考《剑指大数据——企业级数据仓库项目实战(电商版)》一书,书中对数据治理进行了详尽阐述。
阅读本书要求读者具备一定的编程基础,至少掌握一门编程语言(如Java)和SQL查询语言。如果读者对大数据的一些基本框架(如Hadoop、Hive等)有一定了解,那么学习本书将事半功倍。如果读者不具备以上基础,那么可以关注“尚硅谷教育”公众号,在聊天窗口发送关键字“大数据”,即可免费获取相关学习资料。
本书涉及的所有安装包、源码及视频教程等,均可通过在“尚硅谷教育”公众号发送关键字“在线教育数据仓库”免费获取。书中难免有疏漏之处,如在阅读本书的过程中发现任何问题,也欢迎在“尚硅谷教育”官网留言反馈。
第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