内容简介
第一部分 概述篇
第1章 企业级大数据技术体系概述
1.1大数据系统产生背景及应用场景
1.1.1产生背景
1.1.2常见大数据应用场景
1.2企业级大数据技术框架
1.2.1数据收集层
1.2.2数据存储层
1.2.3资源管理与服务协调层
1.2.4计算引擎层
1.2.5数据分析层
1.2.6数据可视化层
1.3企业级大数据技术实现方案
1.3.1 Google大数据技术栈
1.3.2 Hadoop与Spark开源大数据技术栈
1.4大数据架构:Lambda Architecture
1.5 Hadoop与Spark版本选择及安装部署
1.5.1 Hadoop与Spark版本选择
1.5.2 Hadoop与Spark安装部署
1.6小结
1.7本章问题
第二部分 数据收集篇
第2章 关系型数据的收集
2.1 Sqoop概述
2.1.1设计动机
2.1.2 Sqoop基本思想及特点
2.2 Sqoop基本架构
2.2.1 Sqoop 1基本架构
2.2.2 Sqoop2基本架构
2.2.3 Sqoop 1与Sqoop2对比
2.3 Sqoop使用方式
2.3.1 Sqoop 1使用方式
2.3.2 Sqoop2使用方式
2.4数据增量收集CDC
2.4.1 CDC动机与应用场景
2.4.2 CDC开源实现Canal
2.4.3多机房数据同步系统Otter
2.5小结
2.6本章问题
第3章 非关系型数据的收集
3.1概述
3.1.1 Flume设计动机
3.1.2 Flume基本思想及特点
3.2 Flume NG基本架构
3.2.1 Flume NG基本架构
3.2.2 Flume NG高级组件
3.3 Flume NG数据流拓扑构建方法
3.3.1如何构建数据流拓扑
3.3.2数据流拓扑实例剖析
3.4小结
3.5本章问题
第4章 分布式消息队列Kafka
4.1概述
4.1.1 Kafka设计动机
4.1.2 Kafka特点
4.2 Kafka设计架构
4.2.1 Kafka基本架构
4.2.2 Kafka各组件详解
4.2.3 Kafka关键技术点
4.3 Kafka程序设计
4.3.1 Producer程序设计
4.3.2 Consumer程序设计
4.3.3开源Producer与Consumer实现
4.4 Kafka典型应用场景
4.5小结
4.6本章问题
第三部分 数据存储篇
第5章 数据序列化与文件存储格式
5.1数据序列化的意义
5.2数据序列化方案
5.2.1序列化框架Thrift
5.2.2序列化框架Protobuf
5.2.3序列化枢架Avro
5.2.4序列化框架对比
5.3文件存储格式剖析
5.3.1行存储与列存储
5.3.2行式存储格式
5.3.3列式存储格式ORC、 Parquet与CarbonData
5.4小结
5.5本章问题
第6章 分布式文件系统
6.1背景
6.2文件级别和块级别的分布式文件系统
6.2.1文件级别的分布式系统
6.2.2块级别的分布式系统
6.3 HDFS基本架构
6.4 HDFS关键技术
6.4.1容错性设计
6.4.2副本放置策略
6.4.3异构存储介质
6.4.4集中式缓存管理
6.5 HDFS访问方式
6.5.1 HDFS shell
6.5.2 HDFS API
6.5.3数据收集组件
6.5.4计算引擎
6.6小结
6.7本章问题
第7章 分布式结构化存储系统
7.1背景
7.2 HBase数据模型
7.2.1逻辑数据模型
7.2.2物理数据存储
7.3 HBase基本架构
7.3.1 HBase基本架构
7.3.2 HBase内部原理
7.4 HBase访问方式
7.4.1 HBase shell
7.4.2 HBase API
7.4.3数据收集组件
7.4.4计算引擎
7.4.5 Apache Phoenix
7.5 HBase应用案例
7.5.1社交关系数据存储
7.5.2时间序列数据库OpenTSDB
7.6分布式列式存储系统Kudu
7.6.1 Kudu基本特点
7.6.2 Kudu数据模型与架构
7.6.3 HBase与Kudu对比
7.7小结
7.8本章问题
第四部分 分布式协调与资源管理篇
第8章 分布式协调服务ZooKeeper
8.1分布式协调服务的存在意义
8.1.1 leader选举
8.1.2负载均衡
8.2 ZooKeeper数据模型
8.3 ZooKeeper基本架构
8.4 ZooKeeper程序设计
8.4.1 ZooKeeper API
8.4.2 Apache Curator
8.5 ZooKeeper应用案例
8.5.1 leader选举
8.5.2分布式队列
8.5.3负载均衡
8.6小结
8.7本章问题
第9章 资源管理与调度系统YARN
9.1 YARN产生背景
9.1.1 MRvI局限性
9.1.2 YARN设计动机
9.2 YARN设计思想
9.3 YARN的基本架构与原理
9.3.1 YARN基本架构
9.3.2 YARN高可用
9.3.3 YARN工作流程
9.4 YARN资源调度器
9.4.1层级队列管理机制
9.4.2多租户资源调度器产生背景
9.4.3 Capacity/Fair Scheduler
9.4.4基于节点标签的调度
9.4.5资源抢占模型
9.5 YARN资源隔离
9.6以YARN为核心的生态系统
9.7资源管理系统Mesos
9.7.1 Mesos基本架构
9.7.2 Mesos资源分配策略
9.7.3 Mesos与YARN对比
9.8资源管理系统架构演化
9.8.1集中式架构
9.8.2双层调度架构
9.8.3共享状态架构
9.9小结
9.10本章问题
第五部分 大数据计算引擎篇
第10章 批处理引擎MapReduce
10.1概述
10.1.1 MapReduce产生背景
10.1.2 MapReduce设计目标
10.2 MapReduce编程模型
10.2.1编程思想
10.2.2 MapReduce编程组件
10.3 MapReduce程序设计
10.3.1 MapReduce程序设计基础
10.3.2 MapReduce程序设计进阶
10.3.3 Hadoop Streaming
10.4 MapReduce内部原理
10.4.1 MapReduce作业生命周期
10.4.2 MapTask与ReduceTask
10.4.3 MapReduce关键技术
10.5 MapReduce应用实例
10.6小结
10.7本章问题
第11章DAG计算引擎Spark
11.1概述
11.1.1 Spark产生背景
11.1.2 Spark主要特点
11.2 Spark编程模型
11.2.1 Spark核心概念
11.2.2 Spark程序基本框架
11.2.3 Spark编程接口
11.3 Spark运行模式
11.3.1 Standalone模式
11.3.2 YARN模式
11.3.3 Spark Shell
11.4 Spark程序设计实例
11.4.1构建倒排索引
11.4.2 SQL GroupBy实现
11.4.3应用程序提交
11.5 Spark内部原理
11.5.1 Spark作业生命周期
11.5.2 Spark Shuffle
11.6 DataFrame、Dataset与SQL
11.6.1 DataFrame/Dataset与SQL的关系
11.6.2 DataFrame/Dataset程序设计
11.6.3 DataFrame/Dataset程序实例
11.7 Spark生态系统
11.8小结
11.9本章问题
第12章 交互式计算引擎
12.1概述
12.1.1产生背景
12.1.2交互式查询引擎分类
12.1.3常见的开源实现
12.2 ROLAP
12.2.1 Impala
12.2.2 Presto
12.2.3 Impala与Presto对比
12.3 MOLAP
12.3.1 Druid简介
12.3.2 Kylin简介
12.3.3 Druid与Kylin对比
12.4小结
12.5本章问题
第13章 流式实时计算引擎
13.1概述
13.1.1产生背景
13.1.2常见的开源实现
13.2 Storm基础与实战
13.2.1 Storm概念与架构
13.2.2 Storm程序设计实例
13.2.3 Storm内部原理
13.3 Spark Streaming基础与实战
13.3.1概念与架构
13.3.2程序设计基础
13.3.3编程实例详解
13.3.4容错性讨论
13.4流式计算引擎对比
13.5小结
13.6本章问题
第六部分 数据分析篇
第14章 数据分析语言HQL与SQL
14.1概述
14.1.1背景
14.1.2 SQL On Hadoop
14.2 Hive架构
14.2.1 Hive基本架构
14.2.2 Hive查询引擎
14.3 Spark SQL架构
14.3.1 Spark SQL基本架构
14.3.2 Spark SQL与Hive对比
14.4 HQL
14.4.1 HQL基本语法
14.4.2 HQL应用实例
14.5小结
14.6本章问题
第15章 大数据统一编程模型
15.1产生背景
15.2 Apache Beam基本构成
15.2.1 Beam SDK
15.2.2 Beam Runner
15.3 Apache Beam编程模型
15.3.1构建Pipeline
15.3.2创建PCollection
15.3.3使用Transform
15.3.4 side input与side output
15.4 Apache Beam流式计算模型
15.4.1 window简述
15.4.2 watermark、 trigger与accumulation
15.5 Apache Beam编程实例
15.5.1 WordCount
15.5.2移动游戏用户行为分析
15.6小结
15.7本章问题
第16章 大数据机器学习库
16.1机器学习库简介
16.2 MLLib机器学习库
16.2.1 Pipeline
16.2.2特征工程
16.2.3机器学习算法
16.3小结
16.4本章问题