书籍详情

剑指大数据:Flink实时数据仓库项目实战(电商版)

剑指大数据:Flink实时数据仓库项目实战(电商版)

作者:尚硅谷教育

出版社:电子工业出版社

出版时间:2023-10-01

ISBN:9787121463990

定价:¥108.00

购买这本书可以去
内容简介
  本书从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了电商行业Flink实时数据仓库的搭建过程。在整个项目的搭建过程中,介绍了主要组件的安装部署、需求实现的具体思路、问题的解决方案等,并穿插了大数据和数据仓库相关的理论知识,包括数据仓库的概念介绍、电商业务概述、数据仓库理论介绍和数据仓库建模等。最核心的内容是代码中对Flink的灵活应用,为读者展示了Flink处理数据的多种可能性。本书最后还详细讲解了项目的性能调优技巧和实战案例,帮助读者掌握更多的实战经验。 本书适合具有一定编程基础的读者学习或作为参考资料,通过本书,可以使你快速了解实时数据仓库,全面掌握实时数据仓库的相关技术。
作者简介
  尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
目录
目 录


第1章 实时数据仓库概论 1
1.1 什么是数据仓库 1
1.2 走进实时数据仓库 2
1.2.1 实时计算和离线计算 2
1.2.2 实时数据仓库的构建目的 3
1.2.3 实时技术发展 4
1.2.4 实时数据仓库现状分析 5
1.3 学前导读 7
1.3.1 学习的基本要求 7
1.3.2 你将学到什么 7
1.4 本章总结 8
第2章 需求分析与架构设计 9
2.1 项目需求分析 9
2.1.1 实时数据仓库项目产品描述 9
2.1.2 项目流程图 10
2.1.3 指标体系分析 11
2.2 项目架构概述 12
2.2.1 架构设计 12
2.2.2 分层设计 13
2.3 技术选型 14
2.4 本章总结 17
第3章 项目部署与框架搭建 18
3.1 集群规划与服务器配置 18
3.2 JDK与Hadoop安装 18
3.2.1 虚拟机环境准备 19
3.2.2 JDK安装 22
3.2.3 Hadoop安装 23
3.2.4 Hadoop分布式集群部署 24
3.3 ZooKeeper与Kafka安装 30
3.3.1 安装ZooKeeper 30
3.3.2 Zookeeper集群启动、停止脚本 32
3.3.3 安装Kafka 33
3.3.4 Kafka集群启动、停止脚本 34
3.3.5 Kafka Topic相关操作 35
3.4 Flink的安装与部署 36
3.4.1 YARN模式安装 36
3.4.2 任务部署 37
3.5 本章总结 38
第4章 数据仓库建模理论 39
4.1 数据仓库理论准备 39
4.1.1 数据建模概述 39
4.1.2 关系模型与范式理论 40
4.1.3 维度模型 43
4.1.4 维度建模理论之事实表 44
4.1.5 维度建模理论之维度表 46
4.2 数据仓库建模实践 48
4.2.1 名词概念 48
4.2.2 为什么要分层 49
4.2.3 数据仓库构建流程 50
4.3 本章总结 54
第5章 构建ODS层之用户行为数据采集 55
5.1 日志生成 55
5.1.1 数据埋点 55
5.1.2 目标数据 56
5.1.3 数据模拟 60
5.2 采集日志的Flume 63
5.2.1 Flume组件 63
5.2.2 Flume安装 64
5.2.3 采集日志Flume配置 64
5.2.4 Flume的拦截器 65
5.2.5 采集日志Flume启动、停止脚本 69
5.3 本章总结 70
第6章 构建ODS层之业务数据采集 71
6.1 电商业务概述 71
6.1.1 电商业务流程 71
6.1.2 电商常识 72
6.1.3 电商表结构 73
6.2 数据同步概述 82
6.2.1 数据同步策略 82
6.2.2 数据同步工具选择 83
6.3 业务数据模拟 83
6.3.1 MySQL安装 83
6.3.2 数据模拟流程 85
6.4 Maxwell数据采集 87
6.4.1 MySQL中的binlog 87
6.4.2 Maxwell工作原理 89
6.4.3 业务数据采集 93
6.4.4 首日全量同步 95
6.5 本章总结 97
第7章 构建DIM层 98
7.1 开发环境准备 98
7.1.1 IDEA开发环境准备 98
7.1.2 HBase与Phoenix 102
7.2 关键技术解读 106
7.2.1 Flink CDC 106
7.2.2 配置表设计 110
7.3 DIM层代码编写 112
7.3.1 接收Kafka数据过滤脏数据 112
7.3.2 动态拆分维度表数据 114
7.3.3 将流中的数据保存至Phoenix 124
7.3.4 测试 125
7.4 本章总结 126
第8章 构建DWD层 127
8.1 概述 127
8.2 流量域五大事务事实表 128
8.2.1 思路梳理 128
8.2.2 代码编写 132
8.3 交易域加购事务事实表 139
8.3.1 思路梳理 140
8.3.2 编写代码 143
8.4 交易域下单事务事实表 147
8.4.1 思路梳理 147
8.4.2 代码编写 151
8.5 交易域取消订单事务事实表 155
8.5.1 思路梳理 155
8.5.2 代码编写 157
8.6 交易域支付成功事务事实表 160
8.6.1 思路梳理 160
8.6.2 代码编写 162
8.7 交易域退单事务事实表 165
8.7.1 思路梳理 166
8.7.2 代码编写 167
8.8 交易域退款成功事务事实表 170
8.8.1 思路梳理 170
8.8.2 代码编写 171
8.9 事实表动态分流 175
8.9.1 思路梳理 175
8.9.2 代码编写 177
8.10 本章总结 186
第9章 构建DWS层 187
9.1 概述 187
9.2 环境准备 190
9.2.1 安装Redis 190
9.2.2 安装ClickHouse 191
9.3 流量域关键词粒度页面浏览各窗口汇总表 193
9.3.1 思路梳理 193
9.3.2 代码编写 196
9.4 流量域版本—渠道—地区—访客类别粒度页面浏览各窗口汇总表 202
9.4.1 思路梳理 202
9.4.2 代码编写 203
9.5 流量域页面浏览各窗口汇总表 209
9.5.1 思路梳理 209
9.5.2 代码编写 210
9.6 用户域用户登录各窗口汇总表 215
9.6.1 思路梳理 215
9.6.2 代码编写 217
9.7 用户域用户注册各窗口汇总表 222
9.7.1 思路梳理 222
9.7.2 代码编写 222
9.8 交易域加购各窗口汇总表 226
9.8.1 思路梳理 226
9.8.2 代码编写 227
9.9 交易域支付各窗口汇总表 231
9.9.1 思路梳理 231
9.9.2 代码编写 232
9.10 交易域下单各窗口汇总表 237
9.10.1 思路梳理 237
9.10.2 代码编写 238
9.11 交易域SKU粒度下单各窗口汇总表 243
9.11.1 思路梳理 243
9.11.2 代码编写 248
9.12 交易域省份粒度下单各窗口汇总表 266
9.12.1 思路梳理 266
9.12.2 代码编写 267
9.13 交易域品牌—分类—用户粒度退单各窗口汇总表 274
9.13.1 思路梳理 274
9.13.2 代码编写 275
9.14 本章总结 282
第10章 数据可视化大屏 283
10.1 需求分析 283
10.2 Sugar BI介绍 283
10.2.1 简介 283
10.2.2 使用入门 284
10.2.3 效果展示 286
10.3 本章总结 286
第11章 性能调优理论与实践 287
11.1 项目环境概述 287
11.1.1 集群环境 287
11.1.2 任务提交测试 288
11.2 YARN调优策略 297
11.2.1 YARN内存调优 297
11.2.2 YARN CPU调优 297
11.3 Flink内存模型 298
11.3.1 TaskManager内存模型 298
11.3.2 JobManager内存模型 301
11.4 并行度与slot 302
11.4.1 Flink的并行度配置 302
11.4.2 TaskManager slot个数配置 304
11.5 状态调优 304
11.5.1 Flink的状态编程概述 305
11.5.2 检查点相关配置 306
11.5.3 开启状态访问性能监控 308
11.5.4 RocksDB状态后端的性能优化手段 310
11.5.5 开启分区索引和过滤器功能 311
11.5.6 调整预定义选项 312
11.5.7 手动调整参数 312
11.6 反压 313
11.6.1 反压概述 313
11.6.2 如何定位反压 314
11.6.3 反压的原因及解决办法 317
11.7 数据倾斜 320
11.7.1 判断数据倾斜 320
11.7.2 解决数据倾斜 321
11.8 Job优化 325
11.8.1 为算子指定UUID 325
11.8.2 链路延迟监控 326
11.8.3 开启对象重用 327
11.8.4 细粒度滑动窗口优化 328
11.8.5 提前计算滚动窗口 329
11.9 Flink SQL优化 329
11.9.1 设置空闲状态保留时间 329
11.9.2 开启MiniBatch功能 329
11.9.3 开启LocalGlobal优化 330
11.9.4 开启Split Distinct优化 331
11.9.5 使用FILTER语法 332
11.10 Flink对接Kafka优化 333
11.10.1 Flink并行度与Kafka主题分区数 333
11.10.2 指定Watermark空闲等待 334
11.10.3 动态发现Kafka分区 334
11.11 DIM层调优实操 335
11.11.1 YARN资源配置分析 335
11.11.2 Flink内存分配分析 336
11.11.3 并行度与slot个数配置分析 337
11.11.4 状态相关配置分析 337
11.11.5 DIM层任务初次提交测试 338
11.11.6 反压情况分析 344
11.11.7 数据倾斜情况分析 348
11.11.8 与Kakfa对接的相关优化措施 351
11.11.9 任务重启 352
11.11.10 最终提交命令 355
11.12 DWD层调优实操 356
11.12.1 DWD层任务初次提交测试 356
11.12.2 反压情况分析 359
11.12.3 数据倾斜情况分析 364
11.12.4 最终提交命令 367
11.13 本章总结 369
猜您喜欢

读书导航