- 数据中台建设无从下手:提供完备的架构参考和2万行源代码的原型项目,帮助IT团队快速启动数据中台建设。
- 缺乏工程技术方案:涵盖基础设施建设、数据采集、主数据管理、实时计算、批处理等各个环节的架构方案和技术选型。
- 架构设计能力不足:帮助架构师提升对大数据平台的整体把控力,理解数据中台的技术体系和组织架构。
- 技术选型困难:详细介绍Storm、Spark Streaming等技术堆栈与选型,帮助读者做出合理的技术决策。
- 数据团队建设困惑:讲解大数据人才类型、数据团队组织与管理,为企业CIO和数据团队负责人提供参考。
- 架构师:希望提升对大数据平台的整体把控力,学习数据中台架构设计和技术选型。
- 中高级开发人员:想深入学习原型项目代码,掌握数据中台各环节的实现细节。
- 企业CIO或数据团队负责人:需要定制企业数据中台战略、规划数据平台蓝图及组建数据团队。
- 大数据工程师:希望系统学习大数据平台架构,提升工程技术能力和架构思维。
- 技术管理者:需要了解数据中台建设的技术方案和团队组织,推动企业数据化转型。
- 按角色阅读:架构师通读全书,开发人员选择感兴趣的章节深入学习原型项目代码。
- 重点章节:第1、2、4章对CIO和数据团队负责人有重要参考价值,建议优先阅读。
- 动手部署:按照第3章和第4章指导,动手搭建集群并部署原型项目,加深理解。
- 对照源码:阅读时打开原型项目源码,对照书中讲解,理解每个环节的实现细节。
- 结合企业实际:将书中架构方案与自身企业情况结合,制定适合的数据中台建设策略。
- 掌握数据中台架构:全面理解大数据平台的架构设计,掌握数据中台建设的各个环节。
- 获得原型项目经验:通过2万行源代码的原型项目,获得数据中台建设的实战经验。
- 技术选型能力:学会根据业务需求进行技术选型,掌握Storm、Spark等技术的应用场景。
- 提升架构把控力:架构师能提升对大数据平台的整体把控力,设计更合理的架构方案。
- 团队建设参考:了解大数据人才类型和团队组织管理,为企业数据团队建设提供指导。
- 数据文化建设:理解数据文化的重要性,学会在企业中推动数据文化建设。
📖 书籍简介
大数据平台架构与原型实现:数据中台建设实战
目前,在基于大数据技术的数据中台建设过程中,由于缺乏完备的架构参考和类似于“脚手架”的原型项目,很多IT团队会在工程技术层面上感到无从下手。开发人员迫切地需要设计良好的架构参考和简单易用的原型项目帮助他们快速启动自己的数据中台建设,本书*是为这一目标而写作的。
《大数据平台架构与原型实现:数据中台建设实战》以大数据平台的架构设计为主题,围绕一个2万行源代码的原型项目讲解和演示如何在工程技术层面构建当下流行的数据中台。全书涵盖建设一个企业数据平台所需的各个重要环节,包括基础设施建设、数据采集、主数据管理、实时计算、批处理与数据仓库、数据存储及作业调度,每个环节独立成章,每一章介绍对应主题的架构方案和技术选型,然后结合原型项目讲解具体的实现细节。
如果你是一位架构师,本书可以帮助你提升对大数据平台的整体把控力;如果你是中高ji开发人员,建议你选择自己感兴趣的章节深入学习原型项目的代码;如果你是企业的CIO或数据团队的负责人,本书的第壹、2、4章对于你定制企业数据中台战略、规划数据平台蓝图及组建数据团队都有重要的参考价值。
第壹章 企业与数据 1
1.1 数据的价值 3
1.2 企业的数据应用能力 6
1.3 企业的数据技术成熟度 12
1.4 数据团队建设 14
1.4.1 大数据人才类型 14
1.4.2 数据团队的组织与管理 20
1.5 建设数据文化 25
第2章 聚焦中台 27
2.1 中台简介 27
2.2 企业信息系统现状 28
2.2.1 点对点式的系统集成 29
2.2.2 重复建设 30
2.2.3 阻碍业务沉淀与发展 31
2.3 烟囱架构案例:会员管理 31
2.4 曾经的“救赎”——SOA 38
2.5 中台详解 41
2.5.1 中台架构 42
2.5.2 中台的技术体系 46
2.5.3 中台的组织架构 48
2.5.4 中台不是“银弹” 51
2.6 数据中台 52
2.6.1 企业数据资产的现状 53
2.6.2 数据中台具备的能力 54
2.6.3 数据中台建设策略 56
第3章 基础设施 60
3.1 集群规划 61
3.1.1 集群规模与节点配置 61
3.1.2 节点角色分配 63
3.2 创建实例与组网 65
3.2.1 登录云控制台 65
3.2.2 创建专有网络 67
3.2.3 创建安全组 67
3.2.4 创建实例 72
3.2.5 申请弹性公网IP地址 78
3.3 安装集群 79
3.3.1 软件清单 79
3.3.2 环境预配置 80
3.3.3 安装Redis 86
3.3.4 安装Galera(MySQL集群) 87
3.3.5 搭建本地CDH Repository 100
3.3.6 安装Cloudera Manager Server 103
3.3.7 安装CDH 110
3.3.8 高可用配置 114
3.3.9 安装Spark 2 117
3.3.10 启用Spark SQL 118
3.4 安装单节点集群 121
第4章 架构与原型 122
4.1 大数据平台架构设计 123
4.2 原型项目业务背景 127
4.3 原型项目架构方案 132
4.4 原型项目工程结构 139
4.5 部署原型项目 142
4.5.1 配置服务器 142
4.5.2 构建与部署 151
4.5.3 *小化增量部署 165
第5章 数据采集 167
5.1 技术堆栈与选型 168
5.2 需求与概要设计 171
5.3 原型项目设计 173
5.4 生成dummy数据 174
5.5 基于Sqoop的批量导入 177
5.5.1 项目原型 177
5.5.2 使用Sqoop 180
5.5.3 增量导入与全量导入 184
5.6 基于Camel的实时采集 185
5.6.1 项目原型 186
5.6.2 基本的数据采集 188
5.6.3 应对采集作业超时 193
5.6.4 应对数据延迟*绪 197
第6章 主数据管理 202
6.1 主数管理据系统的建设策略 202
6.2 原型设计 204
6.3 项目构建与运行 205
6.4 使用主数据 209
6.5 围绕主数据进行领域建模 209
6.6 主数据在内存数据库中的组织粒度 219
第7章 实时计算 221
7.1 ETL已死,流计算永存 221
7.2 技术堆栈与选型 223
7.2.1 Storm 223
7.2.2 Spark Streaming 225
7.2.3 Flink 235
7.2.4 Kafka Stream 237
7.2.5 关于选型的考量 238
7.3 实时计算需求分析 239
7.4 原型项目介绍与构建 241
7.5 流计算工程结构 243
7.6 集成Kafka 245
7.7 集成HBase 246
7.8 基于时间窗口的聚合运算 252
7.9 自定义状态的流 255
7.10 自定义状态的设计 260
7.11 Structured Streaming性能相关的参数 263
第8章 批处理与数据仓库 266
8.1 大数据与数据仓库 266
8.2 数据仓库的基本理论 267
8.2.1 维度和度量 268
8.2.2 事实表和维度表 268
8.2.3 维度的基数 269
8.2.4 Cube和Cuboid 269
8.2.5 星型模型与雪花模型 269
8.3 批处理需求分析 271
8.4 数据仓库架构 272
8.5 原型项目介绍与构建 277
8.6 数据仓库工程结构 283
8.7 临时数据层的设计与构建 285
8.8 源数据层的设计与构建 286
8.8.1 数据模型 287
8.8.2 建表并处理数据 288
8.8.3 SQL黏合与作业提交 293
8.8.4 增量导入与全量导入 298
8.8.5 源数据层的表分区 300
8.8.6 SRC层数据归档 300
8.9 明细数据层的设计与构建 301
8.9.1 数据模型 301
8.9.2 建表并处理数据 302
8.9.3 合并增量数据 305
8.9.4 SQL参数替换 307
8.10 汇总数据层的设计与构建 309
8.10.1 数据模型 309
8.10.2 建表并处理数据 312
8.10.3 构建维度模型 314
8.10.4 缓慢变化维度 318
8.10.5 2型SCD表 320
8.10.6 生成代理主键 328
8.10.7 运行示例 329
8.11 实现UDF 332
第9章 数据存储 335
9.1 批处理的数据存储 335
9.2 NoSQL数据库概览 341
9.3 HBase与Cassandra 343
9.4 HBase的Rowkey设计 349
9.4.1 “热点”问题与应对策略 349
9.4.2 定长处理 352
9.4.3 *佳实践 352
9.5 探索HBase二级索引 356
第壹0章 作业调度 364
10.1 技术堆栈与选型 364
10.2 需求与概要设计 365
10.3 工作流的组织策略 366
10.4 工程结构 370
10.5 项目构建 372
10.6 实现工作流 375
10.7 实现coordinator 381
10.8 部署与提交工作流 385
10.9 作业依赖管理 389
10.9.1 Oozie的作业依赖管理 391
10.9.2 原型项目中的作业依赖 394
📑 章节目录
- 企业与数据:数据的价值与数据文化
- 聚焦中台:中台架构与技术体系
- 基础设施:集群规划与安装
- 架构与原型:大数据平台架构设计
- 数据采集:Sqoop批量导入与Camel实时采集
- 主数据管理:建设策略与领域建模
- 实时计算:流计算技术选型与实现
- 批处理与数据仓库:架构方案与实现
- 数据存储:存储方案与技术选型
- 作业调度:调度系统设计与实现
- 数据中台建设实战:原型项目部署与运行
- 数据团队建设与数据文化