大数据技术原理与应用(第2版)

大数据技术原理与应用(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-01
版次: 2
ISBN: 9787115443304
定价: 49.80
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 286页
正文语种: 简体中文
1587人买过
  • (1) 概念篇:介绍当前紧密关联的*新IT领域技术云计算、大数据和物联网。

    (2) 大数据存储与管理篇:介绍分布式数据存储的概念、原理和技术,包括HDFS、HBase、NoSQL数据库、云数据库。

    (3) 大数据处理与分析篇:介绍MapReduce分布式编程框架、基于内存的分布式计算框架Spark、图计算、流计算、数据可视化。

    (4) 大数据应用篇:介绍基于大数据技术的推荐系统。 林子雨,北大博士,厦门大学计算机科学系老师,中国高校**"数字教师"的提出者和建设者。在数据库、数据仓库、数据挖掘、大数据、云计算和物联网等领域有着十多年的知识积累,对各个领域知识都有比较深入的了解,有比较宽泛的视野。 第一篇 大数据基础



    第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



    第二篇 大数据存储与管理



    第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



    第三篇 大数据处理与分析



    第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



    第四篇 大数据应用



    第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
  • 内容简介:
    (1) 概念篇:介绍当前紧密关联的*新IT领域技术云计算、大数据和物联网。

    (2) 大数据存储与管理篇:介绍分布式数据存储的概念、原理和技术,包括HDFS、HBase、NoSQL数据库、云数据库。

    (3) 大数据处理与分析篇:介绍MapReduce分布式编程框架、基于内存的分布式计算框架Spark、图计算、流计算、数据可视化。

    (4) 大数据应用篇:介绍基于大数据技术的推荐系统。
  • 作者简介:
    林子雨,北大博士,厦门大学计算机科学系老师,中国高校**"数字教师"的提出者和建设者。在数据库、数据仓库、数据挖掘、大数据、云计算和物联网等领域有着十多年的知识积累,对各个领域知识都有比较深入的了解,有比较宽泛的视野。
  • 目录:
    第一篇 大数据基础



    第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



    第二篇 大数据存储与管理



    第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



    第三篇 大数据处理与分析



    第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



    第四篇 大数据应用



    第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
查看详情
系列丛书 / 更多
大数据技术原理与应用(第2版)
大数据技术基础——基于Hadoop与Spark
罗福强 李瑶 陈虹君 著