第1章 大数据概述 1
1.1 大数据发展历程 1
1.2 大数据的定义及特征 3
1.2.1 大数据定义 3
1.2.2 大数据的关键特征 4
1.3 大数据与传统数据的区别 6
1.3.1 数据思维 6
1.3.2 数据处理 7
1.3.3 数据分析 9
1.4 大数据的核心价值 9
1.5 大数据安全与隐私保护 11
1.5.1 基础设施安全 11
1.5.2 数据隐私 12
1.5.3 数据治理 13
1.5.4 被动安全机制 14
第2章 大数据关键技术 15
2.1 大数据采集与预处理技术 15
2.1.1 Flume 16
2.1.2 Scribe 17
2.1.3 Kafka 19
2.1.4 Time Tunnel 20
2.1.5 Chukwa 21
2.2 大数据存储与管理技术 22
2.2.1 分布式文件系统 23
2.2.2 分布式数据库 27
2.3 大数据分析与挖掘技术 31
2.3.1 传统数据分析与挖掘方法 31
2.3.2 大数据分析与挖掘方法 35
2.3.3 大数据分析与挖掘框架 38
2.4 大数据应用与展现技术 42
2.4.1 大数据应用 42
2.4.2 大数据可视化 44
第3章 基于Hadoop的大数据生态系统 49
3.1 Hadoop概述 49
3.1.1 Hadoop发展历程 49
3.1.2 Hadoop特点 54
3.1.3 Hadoop核心思想 54
3.2 Hadoop家族成员 55
3.3 Hadoop生态系统 57
3.3.1 Hadoop 1.0生态系统 57
3.3.2 Hadoop 2.0生态系统 58
3.4 Hadoop集群架构 58
3.4.1 Hadoop 1.0生态系统的集群架构 59
3.4.2 Hadoop 2.0生态系统的集群架构 59
3.5 Hadoop运行环境 60
3.5.1 硬件环境 60
3.5.2 软件环境 62
3.5.3 网络环境 64
3.6 Hadoop集群的安装与配置 64
3.6.1 准备工作 65
3.6.2 Hadoop部署 82
第4章 分布式文件系统HDFS 90
4.1 HDFS概述 90
4.2 HDFS基本组成 92
4.2.1 数据块 92
4.2.2 元数据节点 93
4.2.3 辅助元数据节点 96
4.2.4 数据节点 97
4.3 HDFS体系架构 98
4.3.1 Hadoop 1.0生态系统中HDFS体系架构 98
4.3.2 Hadoop 2.0生态系统中HDFS体系架构 99
4.4 HDFS核心功能 100
4.5 HDFS通信机制 101
4.5.1 RPC Interface 102
4.5.2 RPC Client 109
4.5.3 RPC Server 110
4.5.4 RPC通信实现 111
4.6 HDFS安全机制 115
4.6.1 授权机制 116
4.6.2 认证机制 119
4.7 HDFS容错机制 123
4.7.1 副本策略 123
4.7.2 心跳检测 125
4.7.3 HDFS HA 132
4.7.4 HDFS Federation 140
4.8 HDFS快照机制 144
4.8.1 快照原理 144
4.8.2 适用场景 145
4.8.3 基本操作 147
4.9 HDFS读写机制 150
4.9.1 HDFS读机制 150
4.9.2 HDFS写机制 153
4.10 HDFS常用操作 155
4.10.1 dfs命令 155
4.10.2 dfsadmin命令 157
4.10.3 Web接口 158
4.10.4 HDFS API 160
第5章 分布式计算框架MapReduce 164
5.1 MapReduce概述 164
5.2 MapReduce原理 165
5.3 MapReduce框架 166
5.3.1 Hadoop 1.0生态系统中MapReduce框架 166
5.3.2 Hadoop 2.0生态系统中MapReduce框架 167
5.4 MapReduce开发环境 169
5.4.1 搭建MapReduce开发环境 169
5.4.2 开发MapReduce应用程序 172
5.5 MapReduce编程过程 178
5.5.1 InputFormat 179
5.5.2 Map 182
5.5.3 Combine/Partition 184
5.5.4 Reduce 186
5.5.5 OutputFormat 187
5.6 MapReduce开发实例 191
5.6.1 MapReduce编程 191
5.6.2 实例解析 199
第6章 资源管理框架YARN 203
6.1 YARN概述 203
6.2 YARN体系架构 204
6.2.1 ResourceManager 205
6.2.2 NodeManager 209
6.2.3 ApplicationMaster 209
6.2.4 Container 210
6.3 YARN工作流程 211
6.4 YARN通信机制 212
6.5 YARN安全机制 214
6.5.1 认证机制 215
6.5.2 授权机制 216
6.6 YARN容错机制 218
6.7 YARN资源调度机制 220
6.7.1 FIFO Scheduler 220
6.7.2 Fair Scheduler 223
6.7.3 Capacity Scheduler 227
6.8 可在YARN上运行的框架 231
6.9 YARN编程实例 232
6.9.1 编程过程 232
6.9.2 DistributedShell实例 234
第7章 分布式列存储数据库HBase 238
7.1 HBase概述 238
7.2 HBase特点 240
7.3 HBase体系架构 241
7.4 HBase安装配置 244
7.4.1 准备工作 244
7.4.2 安装HBase 245
7.4.3 配置HBase 246
7.4.4 启停HBase 248
7.5 HBase数据模型 250
7.5.1 逻辑视图 250
7.5.2 物理视图 252
7.6 HBase关键技术 253
7.6.1 HRegion定位 253
7.6.2 HRegion分裂 255
7.6.3 HBase读写机制 257
7.7 HBase交互接口 258
7.7.1 Native Java API 259
7.7.2 HBase Shell 265
7.8 HBase快照机制 269
第8章 数据仓库Hive 272
8.1 Hive概述 272
8.2 Hive特点 275
8.3 Hive体系架构 276
8.4 Hive安装配置 277
8.4.1 准备工作 278
8.4.2 安装模式 278
8.4.3 安装Hive 279
8.4.4 配置Hive 282
8.4.5 启动Hive 285
8.5 Hive数据模型 287
8.6 Hive数据类型 289
8.6.1 基本数据类型 289
8.6.2 复杂数据类型 290
8.6.3 数据类型转换 291
8.7 Hive基本操作 292
8.7.1 DDL操作 292
8.7.2 DML操作 296
8.8 Hive内置运算符 299
8.8.1 关系运算符 299
8.8.2 算术运算符 300
8.8.3 逻辑运算符 301
8.8.4 复杂运算符 302
8.9 Hive内置函数 302
8.9.1 数值计算函数 302
8.9.2 日期函数 303
8.9.3 条件函数 304
8.9.4 字符串函数 304
8.9.5 集合统计函数 305
8.10 Hive实例 306
第9章 数据分析与挖掘Mahout 308
9.1 Mahout概述 308
9.2 Mahout安装配置 309
9.2.1 Mahout安装 309
9.2.2 Mahout配置 309
9.2.3 Mahout测试 310
9.3 Mahout算法集 311
9.4 分类算法 313
9.4.1 逻辑回归 313
9.4.2 贝叶斯 314
9.4.3 随机森林 317
9.5 聚类算法 318
9.5.1 Canopy聚类 319
9.5.2 K-means聚类 321
9.6 模式挖掘算法 323
9.7 协同过滤算法 324
9.7.1 收集用户偏好 324
9.7.2 相似度计算 325
9.7.3 推荐计算 327
第10章 大数据应用 331
10.1 大数据应用现状及发展趋势 331
10.1.1 产业现状 331
10.1.2 应用现状 332
10.1.3 发展趋势 333
10.2 互联网大数据应用 336
10.3 金融行业大数据应用 337
10.4 电信行业大数据应用 338
10.5 医疗行业大数据应用 339
10.6 智慧交通大数据应用 340
10.7 大数据应用案例 341
10.7.1 互联网大数据应用案例 341
10.7.2 智慧交通大数据应用案例 347
附表 349
参考文献 365