第1章 企业与数据 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
第10章 作业调度 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
^ 收 起