《大数据技术体系详解 原理、架构与实践》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:董西成著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111590729
  • 页数:364 页
图书介绍:本书站在大数据落地应用的角度,系统阐述大数据从数据收集,到数据存储、分布式协调及资源管理、计算引擎、分析工具,再到数据可视化这一完整流程,本书既包含主要技术的实现原理及其框架,也包含了具体落地指导,是帮助企业和个人整体了解大数据框架不可多得的参考书。本章主要包括6个部分共16章的内容,其中:第一部分介绍了大数据体系架构,以及Google和Hadoop技术栈;第二部分介绍大数据分析相关技术,主要涉及关系型数据收集工具Sqoop与Canel、非关系型数据收集系统Flume以及分布式消息队列Kafka;第三部分介绍大数据存储相关技术,涉及数据存储格式、分布式文件系统以及分布式数据库;第四部分介绍资源管理和服务协调相关技术,涉及资源管理和调度系统YARN以及资源协调系统ZooKeeper;第五部分介绍计算引擎相关技术,涉及批处理、交互式处理以及流式实时处理三类引擎;第六部分数据分析相关技术,涉及基于数据分析语言HQL与SQL、大数据统一编程模型及机器学习库等。

第一部分 概述篇 2

第1章 企业级大数据技术体系概述 2

1.1大数据系统产生背景及应用场景 2

1.1.1产生背景 2

1.1.2常见大数据应用场景 3

1.2企业级大数据技术框架 5

1.2.1数据收集层 6

1.2.2数据存储层 7

1.2.3资源管理与服务协调层 7

1.2.4计算引擎层 8

1.2.5数据分析层 9

1.2.6数据可视化层 9

1.3企业级大数据技术实现方案 9

1.3.1 Google大数据技术栈 10

1.3.2 Hadoop与Spark开源大数据技术栈 12

1.4大数据架构:Lambda Architecture 15

1.5 Hadoop与Spark版本选择及安装部署 16

1.5.1 Hadoop与Spark版本选择 16

1.5.2 Hadoop与Spark安装部署 17

1.6小结 18

1.7本章问题 18

第二部分 数据收集篇 20

第2章 关系型数据的收集 20

2.1 Sqoop概述 20

2.1.1设计动机 20

2.1.2 Sqoop基本思想及特点 21

2.2 Sqoop基本架构 21

2.2.1 Sqoop 1基本架构 22

2.2.2 Sqoop2基本架构 23

2.2.3 Sqoop 1与Sqoop2对比 24

2.3 Sqoop使用方式 25

2.3.1 Sqoop 1使用方式 25

2.3.2 Sqoop2使用方式 28

2.4数据增量收集CDC 31

2.4.1 CDC动机与应用场景 31

2.4.2 CDC开源实现Canal 32

2.4.3多机房数据同步系统Otter 33

2.5小结 35

2.6本章问题 35

第3章 非关系型数据的收集 36

3.1概述 36

3.1.1 Flume设计动机 36

3.1.2 Flume基本思想及特点 37

3.2 Flume NG基本架构 38

3.2.1 Flume NG基本架构 38

3.2.2 Flume NG高级组件 41

3.3 Flume NG数据流拓扑构建方法 42

3.3.1如何构建数据流拓扑 42

3.3.2数据流拓扑实例剖析 46

3.4小结 50

3.5本章问题 50

第4章 分布式消息队列Kafka 51

4.1概述 51

4.1.1 Kafka设计动机 51

4.1.2 Kafka特点 53

4.2 Kafka设计架构 53

4.2.1 Kafka基本架构 54

4.2.2 Kafka各组件详解 54

4.2.3 Kafka关键技术点 58

4.3 Kafka程序设计 60

4.3.1 Producer程序设计 61

4.3.2 Consumer程序设计 63

4.3.3开源Producer与Consumer实现 65

4.4 Kafka典型应用场景 65

4.5小结 67

4.6本章问题 67

第三部分 数据存储篇 70

第5章 数据序列化与文件存储格式 70

5.1数据序列化的意义 70

5.2数据序列化方案 72

5.2.1序列化框架Thrift 72

5.2.2序列化框架Protobuf 74

5.2.3序列化枢架Avro 76

5.2.4序列化框架对比 78

5.3文件存储格式剖析 79

5.3.1行存储与列存储 79

5.3.2行式存储格式 80

5.3.3列式存储格式ORC、 Parquet与CarbonData 82

5.4小结 88

5.5本章问题 89

第6章 分布式文件系统 90

6.1背景 90

6.2文件级别和块级别的分布式文件系统 91

6.2.1文件级别的分布式系统 91

6.2.2块级别的分布式系统 92

6.3 HDFS基本架构 93

6.4 HDFS关键技术 94

6.4.1容错性设计 95

6.4.2副本放置策略 95

6.4.3异构存储介质 96

6.4.4集中式缓存管理 97

6.5 HDFS访问方式 98

6.5.1 HDFS shell 98

6.5.2 HDFS API 100

6.5.3数据收集组件 101

6.5.4计算引擎 102

6.6小结 102

6.7本章问题 103

第7章 分布式结构化存储系统 104

7.1背景 104

7.2 HBase数据模型 105

7.2.1逻辑数据模型 105

7.2.2物理数据存储 107

7.3 HBase基本架构 108

7.3.1 HBase基本架构 108

7.3.2 HBase内部原理 110

7.4 HBase访问方式 114

7.4.1 HBase shell 114

7.4.2 HBase API 116

7.4.3数据收集组件 118

7.4.4计算引擎 119

7.4.5 Apache Phoenix 119

7.5 HBase应用案例 120

7.5.1社交关系数据存储 120

7.5.2时间序列数据库OpenTSDB 122

7.6分布式列式存储系统Kudu 125

7.6.1 Kudu基本特点 125

7.6.2 Kudu数据模型与架构 126

7.6.3 HBase与Kudu对比 126

7.7小结 127

7.8本章问题 127

第四部分 分布式协调与资源管理篇 130

第8章 分布式协调服务ZooKeeper 130

8.1分布式协调服务的存在意义 130

8.1.1 leader选举 130

8.1.2负载均衡 131

8.2 ZooKeeper数据模型 132

8.3 ZooKeeper基本架构 133

8.4 ZooKeeper程序设计 134

8.4.1 ZooKeeper API 135

8.4.2 Apache Curator 139

8.5 ZooKeeper应用案例 142

8.5.1 leader选举 142

8.5.2分布式队列 143

8.5.3负载均衡 143

8.6小结 144

8.7本章问题 145

第9章 资源管理与调度系统YARN 146

9.1 YARN产生背景 146

9.1.1 MRvI局限性 146

9.1.2 YARN设计动机 147

9.2 YARN设计思想 148

9.3 YARN的基本架构与原理 149

9.3.1 YARN基本架构 149

9.3.2 YARN高可用 152

9.3.3 YARN工作流程 153

9.4 YARN资源调度器 155

9.4.1层级队列管理机制 155

9.4.2多租户资源调度器产生背景 156

9.4.3 Capacity/Fair Scheduler 157

9.4.4基于节点标签的调度 160

9.4.5资源抢占模型 163

9.5 YARN资源隔离 164

9.6以YARN为核心的生态系统 165

9.7资源管理系统Mesos 167

9.7.1 Mesos基本架构 167

9.7.2 Mesos资源分配策略 169

9.7.3 Mesos与YARN对比 170

9.8资源管理系统架构演化 170

9.8.1集中式架构 171

9.8.2双层调度架构 171

9.8.3共享状态架构 172

9.9小结 173

9.10本章问题 173

第五部分 大数据计算引擎篇 176

第10章 批处理引擎MapReduce 176

10.1概述 176

10.1.1 MapReduce产生背景 176

10.1.2 MapReduce设计目标 177

10.2 MapReduce编程模型 178

10.2.1编程思想 178

10.2.2 MapReduce编程组件 179

10.3 MapReduce程序设计 187

10.3.1 MapReduce程序设计基础 187

10.3.2 MapReduce程序设计进阶 194

10.3.3 Hadoop Streaming 198

10.4 MapReduce内部原理 204

10.4.1 MapReduce作业生命周期 204

10.4.2 MapTask与ReduceTask 206

10.4.3 MapReduce关键技术 209

10.5 MapReduce应用实例 211

10.6小结 213

10.7本章问题 213

第11章DAG计算引擎Spark 215

11.1概述 215

11.1.1 Spark产生背景 215

11.1.2 Spark主要特点 217

11.2 Spark编程模型 218

11.2.1 Spark核心概念 218

11.2.2 Spark程序基本框架 220

11.2.3 Spark编程接口 221

11.3 Spark运行模式 227

11.3.1 Standalone模式 229

11.3.2 YARN模式 230

11.3.3 Spark Shell 232

11.4 Spark程序设计实例 232

11.4.1构建倒排索引 232

11.4.2 SQL GroupBy实现 234

11.4.3应用程序提交 235

11.5 Spark内部原理 236

11.5.1 Spark作业生命周期 237

11.5.2 Spark Shuffle 241

11.6 DataFrame、Dataset与SQL 247

11.6.1 DataFrame/Dataset与SQL的关系 248

11.6.2 DataFrame/Dataset程序设计 249

11.6.3 DataFrame/Dataset程序实例 254

11.7 Spark生态系统 257

11.8小结 257

11.9本章问题 258

第12章 交互式计算引擎 261

12.1概述 261

12.1.1产生背景 261

12.1.2交互式查询引擎分类 262

12.1.3常见的开源实现 263

12.2 ROLAP 263

12.2.1 Impala 263

12.2.2 Presto 267

12.2.3 Impala与Presto对比 271

12.3 MOLAP 271

12.3.1 Druid简介 271

12.3.2 Kylin简介 272

12.3.3 Druid与Kylin对比 274

12.4小结 274

12.5本章问题 274

第13章 流式实时计算引擎 276

13.1概述 276

13.1.1产生背景 276

13.1.2常见的开源实现 278

13.2 Storm基础与实战 278

13.2.1 Storm概念与架构 279

13.2.2 Storm程序设计实例 282

13.2.3 Storm内部原理 285

13.3 Spark Streaming基础与实战 290

13.3.1概念与架构 290

13.3.2程序设计基础 291

13.3.3编程实例详解 298

13.3.4容错性讨论 300

13.4流式计算引擎对比 303

13.5小结 304

13.6本章问题 304

第六部分 数据分析篇 308

第14章 数据分析语言HQL与SQL 308

14.1概述 308

14.1.1背景 308

14.1.2 SQL On Hadoop 309

14.2 Hive架构 309

14.2.1 Hive基本架构 310

14.2.2 Hive查询引擎 311

14.3 Spark SQL架构 312

14.3.1 Spark SQL基本架构 312

14.3.2 Spark SQL与Hive对比 313

14.4 HQL 314

14.4.1 HQL基本语法 314

14.4.2 HQL应用实例 320

14.5小结 322

14.6本章问题 322

第15章 大数据统一编程模型 325

15.1产生背景 325

15.2 Apache Beam基本构成 327

15.2.1 Beam SDK 327

15.2.2 Beam Runner 328

15.3 Apache Beam编程模型 329

15.3.1构建Pipeline 330

15.3.2创建PCollection 331

15.3.3使用Transform 334

15.3.4 side input与side output 340

15.4 Apache Beam流式计算模型 341

15.4.1 window简述 342

15.4.2 watermark、 trigger与accumulation 344

15.5 Apache Beam编程实例 346

15.5.1 WordCount 346

15.5.2移动游戏用户行为分析 348

15.6小结 350

15.7本章问题 350

第16章 大数据机器学习库 351

16.1机器学习库简介 351

16.2 MLLib机器学习库 354

16.2.1 Pipeline 355

16.2.2特征工程 357

16.2.3机器学习算法 360

16.3小结 361

16.4本章问题 361