《大数据技术原理与应用 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:林子雨编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115443304
  • 页数:286 页
图书介绍:(1)概念篇:介绍当前紧密关联的最新IT领域技术云计算、大数据和物联网。(2)大数据存储与管理篇:介绍分布式数据存储的概念、原理和技术,包括HDFS、HBase、NoSQL数据库、云数据库。(3)大数据处理与分析篇:介绍MapReduce分布式编程框架、基于内存的分布式计算框架Spark、图计算、流计算、数据可视化。(4)大数据应用篇:介绍基于大数据技术的推荐系统。

第一篇 大数据基础 2

第1章 大数据概述 2

1.1 大数据时代 2

1.1.1 第三次信息化浪潮 2

1.1.2 信息科技为大数据时代提供技术支撑 3

1.1.3 数据产生方式的变革促成大数据时代的来临 5

1.1.4 大数据的发展历程 6

1.2 大数据的概念 7

1.2.1 数据量大 7

1.2.2 数据类型繁多 8

1.2.3 处理速度快 9

1.2.4 价值密度低 9

1.3 大数据的影响 9

1.3.1 大数据对科学研究的影响 10

1.3.2 大数据对思维方式的影响 11

1.3.3 大数据对社会发展的影响 11

1.3.4 大数据对就业市场的影响 12

1.3.5 大数据对人才培养的影响 13

1.4 大数据的应用 14

1.5 大数据关键技术 14

1.6 大数据计算模式 15

1.6.1 批处理计算 16

1.6.2 流计算 16

1.6.3 图计算 16

1.6.4 查询分析计算 17

1.7 大数据产业 17

1.8 大数据与云计算、物联网 18

1.8.1 云计算 18

1.8.2 物联网 21

1.8.3 大数据与云计算、物联网的关系 25

1.9 本章小结 26

1.10 习题 26

第2章 大数据处理架构Hadoop 28

2.1 概述 28

2.1.1 Hadoop简介 28

2.1.2 Hadoop的发展简史 28

2.1.3 Hadoop的特性 29

2.1.4 Hadoop的应用现状 29

2.1.5 Hadoop的版本 30

2.2 Hadoop生态系统 30

2.2.1 HDFS 31

2.2.2 HBase 31

2.2.3 MapReduce 31

2.2.4 Hive 32

2.2.5 Pig 32

2.2.6 Mahout 32

2.2.7 Zookeeper 32

2.2.8 Flume 32

2.2.9 Sqoop 32

2.2.10 Ambari 33

2.3 Hadoop的安装与使用 33

2.3.1 创建Hadoop用户 33

2.3.2 Java的安装 34

2.3.3 SSH登录权限设置 34

2.3.4 安装单机Hadoop 34

2.3.5 Hadoop伪分布式安装 35

2.4 本章小结 37

2.5 习题 38

实验1 安装Hadoop 38

第二篇 大数据存储与管理 42

第3章 分布式文件系统HDFS 42

3.1 分布式文件系统 42

3.1.1 计算机集群结构 42

3.1.2 分布式文件系统的结构 43

3.1.3 分布式文件系统的设计需求 44

3.2 HDFS简介 44

3.3 HDFS的相关概念 45

3.3.1 块 45

3.3.2 名称节点和数据节点 46

3.3.3 第二名称节点 47

3.4 HDFS体系结构 48

3.4.1 概述 48

3.4.2 HDFS命名空间管理 49

3.4.3 通信协议 49

3.4.4 客户端 50

3.4.5 HDFS体系结构的局限性 50

3.5 HDFS的存储原理 50

3.5.1 数据的冗余存储 50

3.5.2 数据存取策略 51

3.5.3 数据错误与恢复 52

3.6 HDFS的数据读写过程 53

3.6.1 读数据的过程 53

3.6.2 写数据的过程 54

3.7 HDFS编程实践 55

3.7.1 HDFS常用命令 55

3.7.2 HDFS的Web界面 56

3.7.3 HDFS常用Java API及应用实例 57

3.8 本章小结 60

3.9 习题 61

实验2 熟悉常用的HDFS操作 61

第4章 分布式数据库HBase 63

4.1 概述 63

4.1.1 从BigTable说起 63

4.1.2 HBase简介 63

4.1.3 HBase与传统关系数据库的对比分析 64

4.2 HBase访问接口 65

4.3 HBase数据模型 66

4.3.1 数据模型概述 66

4.3.2 数据模型的相关概念 66

4.3.3 数据坐标 67

4.3.4 概念视图 68

4.3.5 物理视图 69

4.3.6 面向列的存储 69

4.4 HBase的实现原理 71

4.4.1 HBase的功能组件 71

4.4.2 表和Region 71

4.4.3 Region的定位 72

4.5 HBase运行机制 74

4.5.1 HBase系统架构 74

4.5.2 Region服务器的工作原理 76

4.5.3 Store的工作原理 77

4.5.4 HLog的工作原理 77

4.6 HBase编程实践 78

4.6.1 HBase常用的Shell命令 78

4.6.2 HBase常用的Java API及应用实例 80

4.7 本章小结 90

4.8 习题 90

实验3 熟悉常用的HBase操作 91

第5章 NoSQL数据库 94

5.1 NoSQL简介 94

5.2 NoSQL兴起的原因 95

5.2.1 关系数据库无法满足Web 2.0的需求 95

5.2.2 关系数据库的关键特性在Web 2.0时代成为“鸡肋” 96

5.3 NoSQL与关系数据库的比较 97

5.4 NoSQL的四大类型 98

5.4.1 键值数据库 99

5.4.2 列族数据库 100

5.4.3 文档数据库 100

5.4.4 图数据库 101

5.5 NoSQL的三大基石 101

5.5.1 CAP 101

5.5.2 BASE 103

5.5.3 最终一致性 104

5.6 从NoSQL到NewSQL数据库 105

5.7 本章小结 107

5.8 习题 107

第6章 云数据库 108

6.1 云数据库概述 108

6.1.1 云计算是云数据库兴起的基础 108

6.1.2 云数据库的概念 109

6.1.3 云数据库的特性 110

6.1.4 云数据库是个性化数据存储需求的理想选择 111

6.1.5 云数据库与其他数据库的关系 112

6.2 云数据库产品 113

6.2.1 云数据库厂商概述 113

6.2.2 Amazon的云数据库产品 113

6.2.3 Google的云数据库产品 114

6.2.4 微软的云数据库产品 114

6.2.5 其他云数据库产品 115

6.3 云数据库系统架构 115

6.3.1 UMP系统概述 115

6.3.2 UMP系统架构 116

6.3.3 UMP系统功能 118

6.4 云数据库实践 121

6.4.1 阿里云RDS简介 121

6.4.2 RDS中的概念 121

6.4.3 购买和使用RDS数据库 122

6.4.4 将本地数据库迁移到云端RDS数据库 126

6.5 本章小结 127

6.6 习题 127

实验4 熟练使用RDS for MySQL数据库 128

第三篇 大数据处理与分析 132

第7章 MapReduce 132

7.1 概述 132

7.1.1 分布式并行编程 132

7.1.2 MapReduce模型简介 133

7.1.3 Map和Reduce函数 133

7.2 MapReduce的工作流程 134

7.2.1 工作流程概述 134

7.2.2 MapReduce的各个执行阶段 135

7.2.3 Shuffle过程详解 136

7.3 实例分析:WordCount 139

7.3.1 WordCount的程序任务 139

7.3.2 WordCount的设计思路 139

7.3.3 WordCount的具体执行过程 140

7.3.4 一个WordCount执行过程的实例 141

7.4 MapReduce的具体应用 142

7.4.1 MapReduce在关系代数运算中的应用 142

7.4.2 分组与聚合运算 144

7.4.3 矩阵-向量乘法 144

7.4.4 矩阵乘法 144

7.5 MapReduce编程实践 145

7.5.1 任务要求 145

7.5.2 编写Map处理逻辑 146

7.5.3 编写Reduce处理逻辑 147

7.5.4 编写main方法 147

7.5.5 编译打包代码以及运行程序 148

7.6 本章小结 150

7.7 习题 151

实验5 MapReduce编程初级实践 152

第8章 Hadoop再探讨 155

8.1 Hadoop的优化与发展 155

8.1.1 Hadoop的局限与不足 155

8.1.2 针对Hadoop的改进与提升 156

8.2 HDFS2.0的新特性 156

8.2.1 HDFS HA 157

8.2.2 HDFS联邦 158

8.3 新一代资源管理调度框架YARN 159

8.3.1 MapReduce1.0的缺陷 159

8.3.2 YARN设计思路 160

8.3.3 YARN体系结构 161

8.3.4 YARN工作流程 163

8.3.5 YARN框架与MapReduce1.0框架的对比分析 164

8.3.6 YARN的发展目标 165

8.4 Hadoop生态系统中具有代表性的功能组件 166

8.4.1 Pig 166

8.4.2 Tez 167

8.4.3 Kafka 169

8.5 本章小结 170

8.6 习题 170

第9章 Spark 172

9.1 概述 172

9.1.1 Spark简介 172

9.1.2 Scala简介 173

9.1.3 Spark与Hadoop的对比 174

9.2 Spark生态系统 175

9.3 Spark运行架构 177

9.3.1 基本概念 177

9.3.2 架构设计 177

9.3.3 Spark运行基本流程 178

9.3.4 RDD的设计与运行原理 179

9.4 Spark的部署和应用方式 184

9.4.1 Spark三种部署方式 184

9.4.2 从“Hadoop+Storm”架构转向Spark架构 185

9.4.3 Hadoop和Spark的统一部署 186

9.5 Spark编程实践 186

9.5.1 启动Spark Shell 187

9.5.2 Spark RDD基本操作 187

9.5.3 Spark应用程序 189

9.6 本章小结 192

9.7 习题 193

第10章 流计算 194

10.1 流计算概述 194

10.1.1 静态数据和流数据 194

10.1.2 批量计算和实时计算 195

10.1.3 流计算的概念 196

10.1.4 流计算与Hadoop 196

10.1.5 流计算框架 197

10.2 流计算的处理流程 197

10.2.1 概述 197

10.2.2 数据实时采集 198

10.2.3 数据实时计算 198

10.2.4 实时查询服务 199

10.3 流计算的应用 199

10.3.1 应用场景1:实时分析 199

10.3.2 应用场景2:实时交通 200

10.4 开源流计算框架Storm 200

10.4.1 Storm简介 201

10.4.2 Storm的特点 201

10.4.3 Storm的设计思想 202

10.4.4 Storm的框架设计 203

10.4.5 Storm实例 204

10.5 Spark Streaming 206

10.5.1 Spark Streaming设计 206

10.5.2 Spark Streaming与Storm的对比 207

10.6 本章小结 208

10.7 习题 208

第11章 图计算 210

11.1 图计算简介 210

11.1.1 传统图计算解决方案的不足之处 210

11.1.2 图计算通用软件 211

11.2 Pregel简介 211

11.3 Pregel图计算模型 212

11.3.1 有向图和顶点 212

11.3.2 顶点之间的消息传递 212

11.3.3 Pregel的计算过程 213

11.3.4 实例 214

11.4 Pregel的C++API 216

11.4.1 消息传递机制 217

11.4.2 Combiner 217

11.4.3 Aggregator 218

11.4.4 拓扑改变 218

11.4.5 输入和输出 218

11.5 Pregel的体系结构 219

11.5.1 Pregel的执行过程 219

11.5.2 容错性 220

11.5.3 Worker 221

11.5.4 Master 221

11.5.5 Aggregator 222

11.6 Pregel的应用实例 222

11.6.1 单源最短路径 222

11.6.2 二分匹配 223

11.7 Pregel和MapReduce实现PageRank算法的对比 224

11.7.1 PageRank算法 224

11.7.2 PageRank算法在Pregel中的实现 225

11.7.3 PageRank算法在MapReduce中的实现 225

11.7.4 PageRank算法在Pregel和MapReduce中实现的比较 228

11.8 本章小结 228

11.9 习题 228

第12章 数据可视化 230

12.1 可视化概述 230

12.1.1 什么是数据可视化 230

12.1.2 可视化的发展历程 230

12.1.3 可视化的重要作用 231

12.2 可视化工具 233

12.2.1 入门级工具 233

12.2.2 信息图表工具 234

12.2.3 地图工具 235

12.2.4 时间线工具 236

12.2.5 高级分析工具 236

12.3 可视化典型案例 237

12.3.1 全球黑客活动 237

12.3.2 互联网地图 237

12.3.3 编程语言之间的影响力关系图 238

12.3.4 百度迁徙 239

12.3.5 世界国家健康与财富之间的关系 239

12.3.6 3D可视化互联网地图APP 239

12.4 本章小结 240

12.5 习题 240

第四篇 大数据应用 242

第13章 大数据在互联网领域的应用 242

13.1 推荐系统概述 242

13.1.1 什么是推荐系统 242

13.1.2 长尾理论 243

13.1.3 推荐方法 243

13.1.4 推荐系统模型 244

13.1.5 推荐系统的应用 244

13.2 协同过滤 245

13.2.1 基于用户的协同过滤 245

13.2.2 基于物品的协同过滤 246

13.2.3 UserCF算法和ItemCF算法的对比 248

13.3 协同过滤实践 248

13.3.1 实践背景 248

13.3.2 数据处理 249

13.3.3 计算相似度矩阵 249

13.3.4 计算推荐结果 250

13.3.5 展示推荐结果 250

13.4 本章小结 251

13.5 习题 251

第14章 大数据在生物医学领域的应用 252

14.1 流行病预测 252

14.1.1 传统流行病预测机制的不足 252

14.1.2 基于大数据的流行病预测 253

14.1.3 基于大数据的流行病预测的重要作用 253

14.1.4 案例:百度疾病预测 254

14.2 智慧医疗 255

14.3 生物信息学 256

14.4 案例:基于大数据的综合健康服务平台 257

14.4.1 平台概述 257

14.4.2 平台业务架构 258

14.4.3 平台技术架构 258

14.4.4 平台关键技术 259

14.5 本章小结 260

14.6 习题 261

第15章 大数据的其他应用 262

15.1 大数据在物流领域中的应用 262

15.1.1 智能物流的概念 262

15.1.2 智能物流的作用 263

15.1.3 智能物流的应用 263

15.1.4 大数据是智能物流的关键 263

15.1.5 中国智能物流骨干网——菜鸟 264

15.2 大数据在城市管理中的应用 266

15.2.1 智能交通 266

15.2.2 环保监测 267

15.2.3 城市规划 268

15.2.4 安防领域 269

15.3 大数据在金融行业中的应用 269

15.3.1 高频交易 269

15.3.2 市场情绪分析 269

15.3.3 信贷风险分析 270

15.4 大数据在汽车行业中的应用 271

15.5 大数据在零售行业中的应用 272

15.5.1 发现关联购买行为 272

15.5.2 客户群体细分 273

15.5.3 供应链管理 273

15.6 大数据在餐饮行业中的应用 274

15.6.1 餐饮行业拥抱大数据 274

15.6.2 餐饮O2O 274

15.7 大数据在电信行业中的应用 276

15.8 大数据在能源行业中的应用 276

15.9 大数据在体育和娱乐领域中的应用 277

15.9.1 训练球队 277

15.9.2 投拍影视作品 278

15.9.3 预测比赛结果 279

15.10 大数据在安全领域中的应用 280

15.10.1 大数据与国家安全 280

15.10.2 应用大数据技术防御网络攻击 280

15.10.3 警察应用大数据工具预防犯罪 281

15.11 大数据在政府领域中的应用 282

15.12 大数据在日常生活中的应用 283

15.13 本章小结 284

15.14 习题 284

参考文献 285