全新正版书籍,24小时发货,可开发票。
¥ 55.3 5.1折 ¥ 108 全新
库存72件
作者尚硅谷教育
出版社电子工业出版社
ISBN9787121463990
出版时间2023-10
装帧平装
开本其他
定价108元
货号29633678
上书时间2024-12-02
数字化时代,数据的重要性不言而喻。数据不仅是企业决策和业务发展的核心资源,更是引领未来发展的关键驱动力。在数据爆炸式增长并伴随着高速数据交流的场景下,实时性和准确性成为了数据的特征。企业及时地了解和响应市场变化、用户需求和竞争动态,需要数据能够被快速且准确地捕获、处理和分析。
离线数据仓库架构和技术已无法满足日益增长的业务需求,传统的批处理模式往往需要较长的时间来处理大规模数据,无法实时提供关键的洞察和决策支持。数据仓库架构和技术必须紧跟时代发展的脚步,以满足企业对实时性和准确性的迫切需求。
随着技术的不断创新和突破,新一代的数据仓库架构和技术应运而生。Flink作为一款强大的开源流处理框架,以其卓越的性能备受业界青睐。Flink将流式计算和批处理的优势结合起来,可以高效地处理大规模实时数据,并为企业提供实时的分析和洞察,使企业能够基于最新的数据,做出更加准确、及时的决策,从而在激烈的市场竞争中保持优势。
本书聚焦于Flink实时数据仓库项目的实战应用,以典型的电商作为行业案例,带你深入探索Flink实时数据仓库项目构建的全过程。无论你是数据工程师、数据分析师,还是对实时数据处理感兴趣的读者,本书都将帮助你更好地理解和运用Flink构建实时数据仓库,提供有价值的实战经验和技巧。
通过本书,你将学习到:
? 深入了解实时数据仓库的概念和数据仓库建模理论
? 熟练掌握构建高效、高可用的数据采集通道
? 学习如何使用Flink构建实时数据流处理应用
? 掌握Flink处理实时数据流的各种常见模式与技术
? 实践运用Flink处理电商领域的实时数据需求
? 使用Flink进行数据清洗、转换和聚合等操作
? 掌握Flink的状态管理和容错机制
? 熟练掌握Flink实时数据仓库项目的性能调优手段
本书不仅包含理论介绍和概念阐述,更注重实践和项目案例演示。通过真实的数据场景和具体的应用案例,带领你逐步搭建一个完整的Flink实时数据仓库项目。
这是一本学习和实践Flink实时数据仓库项目的指南,虽然本书的重点是Flink实时数据仓库项目,但讲授的知识和技术在其他场景中同样适用。数据处理的原理和方法是通用的,通过学习本书,你将拓展自己在实时数据处理领域的能力。
阅读本书需要具备一定的编程基础,至少掌握一门编程语言(如Java)和SQL查询语言。如果你对大数据的一些框架,如Hadoop、Kafka等有一定了解,阅读本书将事半功倍。若不具备以上基础,可以关注“尚硅谷教育”微信公众号,在聊天窗口发送关键字“大数据”,免费获取全部学习资料。
书中涉及的所有安装包、源码及视频教程等,均可关注“尚硅谷教育”微信公众号,发送关键字“电商实时”免费获取。书中难免有疏漏之处,如果在阅读本书的过程中,发现任何问题,欢迎在尚硅谷教育官网留言反馈。
本书从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了电商行业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
本书从需求规划、需求实现到可视化展示等,遵循项目开发的主要流程,全景介绍了电商行业Flink实时数据仓库的搭建过程。在整个项目的搭建过程中,介绍了主要组件的安装部署、需求实现的具体思路、问题的解决方案等,并穿插了大数据和数据仓库相关的理论知识,包括数据仓库的概念介绍、电商业务概述、数据仓库理论介绍和数据仓库建模等。最核心的内容是代码中对Flink的灵活应用,为读者展示了Flink处理数据的多种可能性。本书最后还详细讲解了项目的性能调优技巧和实战案例,帮助读者掌握更多的实战经验。 本书适合具有一定编程基础的读者学习或作为参考资料,通过本书,可以使你快速了解实时数据仓库,全面掌握实时数据仓库的相关技术。
尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
— 没有更多了 —
以下为对购买帮助不大的评价