本书介绍了大数据处理技术核心栈的全部内容。主要从大数据处理技术的流程出发,围绕大数据的获取、存储、分析到可视化展示的完整过程,以目前主流的Hadoop、Spark等开源大数据处理平台为核心内容,从大数据技术应用的角度,提供主流厂商的大数据平台的对比分析,并提供行业应用案例和大数据处理的完整实例,以帮助新手从零基础开始学习大数据技术。除此之外,在大数据分析部分,除常用数据分析算法外,特别增加了文本大数据分析、图像大数据分析和视频大数据分析等非结构化数据分析算法及应用场景。针对大型的大数据处理应用场景,增加了大数据集成、大数据治理、大数据安全等章节。最后对大数据处理技术的发展趋势做了介绍。
样章试读
目录
- 目录
第1章 绪论 1
1.1 什么是大数据 1
1.1.1 大数据概念的起源 2
1.1.2 大数据的4V特性 3
1.1.3 大数据与云计算 3
1.1.4 大数据与人工智能 4
1.1.5 大数据的典型应用场景 5
1.2 大数据处理技术体系 6
1.2.1 大数据处理基础框架 6
1.2.2 大数据处理过程概述 8
1.3 大数据处理技术学习路线 22
本章小结 24
思考题 24
参考文献 25
第2章 主流大数据处理框架 26
2.1 Hadoop 27
2.1.1 Hadoop起源和特点 27
2.1.2 Hadoop架构与核心部件 28
2.1.3 Hadoop的版本选择 29
2.2 Spark 30
2.2.1 Spark的起源和特点 30
2.2.2 Spark的核心概念——RDD 31
2.2.3 Spark的生态圈 33
2.3 Apache Storm 35
2.3.1 Storm的起源和应用场景 36
2.3.2 Storm的架构和原理 36
2.3.3 Storm的特性 38
2.3.4 Hadoop、Spark和Storm的性能对比 38
2.4 Oracle大数据处理框架 39
2.5 IBM大数据处理框架 41
2.6 SAP HANA大数据处理框架 42
2.7 Teradata大数据处理框架 43
2.8 主流厂商大数据处理框架对比 45
本章小结 45
思考题 45
参考文献 46
第3章 Hadoop大数据处理平台 47
3.1 Hadoop发展简史 47
3.1.1 发展简史 47
3.1.2 Hadoop最新架构 48
3.2 Hadoop核心技术 51
3.2.1 HDFS 51
3.2.2 MapReduce 57
3.3 Hadoop生态圈 59
3.3.1 HBase 59
3.3.2 Hive 70
3.3.3 Pig 73
3.3.4 Sqoop 75
3.3.5 ZooKeeper 81
3.3.6 Avro 82
3.4 Hadoop版本介绍 83
3.4.1 Cloudera CDH 83
3.4.2 Hortonworks HDP 87
3.5 Hadoop安装 87
3.5.1 Hadoop安装前期准备 87
3.5.2 安装经验汇总 88
本章小结 88
思考题 89
参考文献 89
第4章 Spark大数据处理平台 90
4.1 Spark概述 90
4.1.1 Spark发展简史 90
4.1.2 Spark的优点 90
4.2 Spark总体架构 91
4.2.1 Spark技术架构 91
4.2.2 Spark总体流程 93
4.3 Spark核心模块 98
4.3.1 RDD 98
4.3.2 Scheduler 101
4.3.3 Storage 105
4.3.4 Shuffle 107
4.4 Spark应用库 108
4.4.1 GraphX 108
4.4.2 Spark Streaming 112
4.4.3 Spark SQL 116
4.4.4 MLLib 120
4.5 Spark与Hadoop的区别 121
4.6 Spark与Hadoop的集成 122
4.7 Spark典型应用 123
4.7.1 Spark的适用场景 123
4.7.2 Spark在百度 124
4.7.3 Spark在阿里 124
4.7.4 Spark在腾讯 124
4.8 Spark安装使用 125
4.8.1 Scala安装 125
4.8.2 Spark安装 125
本章小结 128
思考题 129
参考文献 129
第5章 大数据获取技术 130
5.1 大数据采集 130
5.2 日志采集 131
5.2.1 Flume 131
5.2.2 Chukwa 136
5.2.3 Kafka 144
5.2.4 Flume、Chukwa和Kafka的比较 149
5.3 网络数据采集 150
5.3.1 网络爬虫技术概述 150
5.3.2 网络爬虫原理 150
5.3.3 网络爬虫体系结构 152
5.3.4 网络爬虫分类 153
5.4 数据库采集 156
5.4.1 ETL 156
5.4.2 大数据平台和现有数据仓库的有效整合 160
本章小结 161
思考题 161
参考文献 161
第6章 大数据存储 163
6.1 传统数据中心存储 163
6.1.1 DAS 163
6.1.2 NAS 165
6.1.3 SAN 167
6.1.4 对象存储技术 168
6.2 大数据存储技术 169
6.2.1 大数据存储与传统存储的不同 169
6.2.2 分布式文件系统 169
6.2.3 分布式数据库 175
6.3 NoSQL 179
6.3.1 BigTable 180
6.3.2 Dynamo 186
6.4 NewSQL 190
6.5 云数据库 193
6.6 各类存储方式对比 193
本章小结 194
思考题 194
参考文献 195
第7章 常用大数据分析算法 197
7.1 数据挖掘与机器学习 197
7.1.1 数据挖掘 197
7.1.2 机器学习 198
7.2 回归分析 199
7.2.1 线性回归(linear regression) 199
7.2.2 逻辑回归(logistic regression) 200
7.3 分类算法 201
7.3.1 决策树 201
7.3.2 支持向量机 204
7.3.3 朴素贝叶斯分类器 207
7.4 聚类算法 209
7.4.1 数据划分 210
7.4.2 类别的定义 211
7.4.3 K-Means算法 211
7.4.4 K-Means算法遇到的问题 212
7.5 集成学习 213
7.5.1 集成学习的简述 213
7.5.2 弱学习器(weak learner) 213
7.5.3 Boosting 214
7.5.4 Bagging 215
7.5.5 随机森林 216
7.5.6 结合策略 217
7.6 深度学习基础 218
7.6.1 人工神经网络 218
7.6.2 BP神经网络 219
7.6.3 激活函数 221
7.7 卷积神经网络 225
7.7.1 从神经网络到卷积神经网络 225
7.7.2 卷积神经网络的层级结构 226
7.7.3 CNN小结 231
7.8 循环神经网络 231
7.8.1 循环神经网络简介 231
7.8.2 RNN的基本结构 232
7.8.3 RNN的高级形式 233
7.9 对抗学习 235
7.9.1 对抗网络简介 235
7.9.2 GAN的目的与设计思路 236
7.9.3 对抗网络模型 237
7.9.4 GAN优化问题 239
7.10 常用数据分析工具简介 240
7.10.1 Mahout 240
7.10.2 Hive 241
7.10.3 TensorFlow深度学习框架 242
7.10.4 其他深度学习框架 243
本章小结 244
思考题 245
参考文献 245
第8章 文本大数据分析 247
8.1 文本大数据处理 247
8.1.1 文本大数据的特点 247
8.1.2 文本分析简介 248
8.1.3 文本大数据分析的主要应用场景 249
8.1.4 文本大数据分析的技术难点 251
8.2 文本大数据分析主要流程 252
8.2.1 获取语料 252
8.2.2 文本预处理 254
8.2.3 构造文本特征 255
8.2.4 特征选择处理 257
8.2.5 学习模型训练 258
8.3 深度学习文本分类模型 258
8.3.1 fastText 259
8.3.2 TextCNN 259
8.3.3 TextRNN 261
8.3.4 TextRNN+Attention 262
8.3.5 TextRCNN(TextRNN+CNN) 264
8.3.6 HAN 264
8.3.7 深度学习文本分类小结 265
8.4 文本大数据分析实例——文本分类 266
8.4.1 业务问题描述 266
8.4.2 传统文本分类方法 267
8.4.3 深度学习文本分类方法 268
本章小结 271
思考题 271
参考文献 271
第9章 图像大数据分析技术 273
9.1 图像分析技术简介 273
9.1.1 图像分析技术简介 273
9.1.2 图像分析的四个基本过程 274
9.2 边缘检测 274
9.2.1 边缘检测的简述 274
9.2.2 边缘检测算子 275
9.3 图像分割 277
9.3.1 灰度阈值分割 277
9.3.2 区域分割 278
9.4 目标检测与识别 280
9.4.1 基于区域提名的目标检测与识别算法 280
9.4.2 端到端的的目标检测与识别算法 285
9.5 图像大数据分析典型应用——人脸识别 287
9.5.1 人脸识别技术流程 287
9.5.2 识别算法 288
9.5.3 人脸识别技术的优势和困难 290
9.6 图像大数据分析其他应用 291
9.6.1 “看图说话” 291
9.6.2 视觉问答 292
9.6.3 网络可视化和网络理解 294
9.6.4 特征逆向工程 297
9.6.5 图像检索 299
本章小结 300
思考题 300
参考文献 301
第10章 视频大数据分析技术 302
10.1 视频大数据应用的主要驱动 302
10.1.1 累积的视频数据价值量巨大 302
10.1.2 技术的成熟 303
10.1.3 政策的推动 304
10.2 视频大数据分析基础 304
10.2.1 视频数据采集 305
10.2.2 视频数据压缩 305
10.2.3 视频数据存储 305
10.2.4 视频大数据分析的关键技术 306
10.3 目标检测 306
10.3.1 背景差分法 308
10.3.2 帧间差分法 312
10.3.3 光流法 315
10.4 目标识别 318
10.4.1 单帧图像目标识别 319
10.4.2 改进分类损失 319
10.4.3 利用跟踪信息修正 320
10.4.4 网络选择与训练技巧 320
10.5 行为识别 321
10.5.1 目标识别与行为识别的差异 321
10.5.2 常用数据库 323
10.5.3 传统方法 323
10.5.4 深度学习方法 326
10.6 视频大数据分析的主要应用领域 328
10.6.1 政府行业视频大数据分析应用 328
10.6.2 金融行业视频大数据分析应用 329
10.6.3 商业视频大数据分析应用 330
10.6.4 机器人等新兴行业视频大数据分析应用 331
10.6.5 无人机行业视频大数据分析应用 332
10.6.6 无人驾驶汽车行业视频大数据分析应用 333
10.7 视频大数据的三大发展趋势 333
10.7.1 系统集成下的技术融合 333
10.7.2 多维数据的碰撞融合 334
10.7.3 平台架构和业务应用的开放 334
本章小结 334
思考题 335
参考文献 335
第11章 大数据领域应用解决方案 337
11.1 大数据应用趋势 337
11.2 大数据平台整体规划方案 339
11.3 行业大数据应用解决方案 343
11.3.1 金融大数据应用解决方案 343
11.3.2 旅游大数据应用解决方案 345
11.3.3 高校大数据应用解决方案 348
11.4 十大行业大数据应用浅析 351
11.4.1 银行业与证券业 352
11.4.2 通信、媒体和娱乐 352
11.4.3 医疗保健 352
11.4.4 教育行业 353
11.4.5 制造业和自然资源开采业 353
11.4.6 政府 353
11.4.7 保险业 354
11.4.8 零售和批发贸易 354
11.4.9 交通行业 354
11.4.10 能源与公用事业 355
11.5 大数据应用未来的聚焦点 355
本章小结 356
思考题 356
参考文献 356
第12章 大数据集成 358
12.1 大数据集成基本概念 359
12.1.1 与外部数据集成 359
12.1.2 集成不同类型的数据 359
12.1.3 集成流式大数据 360
12.1.4 数据转换 360
12.1.5 数据的迁移 361
12.1.6 非结构化数据的抽取 361
12.1.7 数据集成开发生命周期 362
12.2 大数据集成方法 363
12.2.1 批处理数据集成 363
12.2.2 实时数据集成 365
12.2.3 数据虚拟化 366
12.2.4 云数据集成 366
12.3 大数据集成模式 367
12.3.1 交互模式 367
12.3.2 松耦合 367
12.3.3 中心-节点模式 368
12.4 大数据集成架构 369
12.4.1 ETL引擎 370
12.4.2 企业服务总线 370
12.4.3 数据集成中心 371
12.4.4 数据转换 372
12.4.5 数据归档 373
12.4.6 数据虚拟化 374
本章小结 377
思考题 377
参考文献 377
第13章 大数据治理 378
13.1 数据治理概述 378
13.1.1 数据治理 379
13.1.2 数据治理实施 379
13.2 大数据治理 379
13.2.1 大数据治理需求 380
13.2.2 大数据治理在大数据环境中的整体作用 382
13.2.3 正确的大数据治理方法 382
13.3 大数据治理中的关键概念 383
13.3.1 元数据管理 383
13.3.2 大数据隐私 384
13.3.3 数据管理 385
13.3.4 数据质量 385
13.3.5 主数据管理 385
13.4 大数据质量管理 385
13.4.1 信息系统数据质量 386
13.4.2 大数据环境下数据质量管理面临的挑战 386
13.4.3 数据质量管理策略 387
13.4.4 建立数据质量评价体系 387
13.4.5 落实数据质量信息的采集、分析与监控 387
13.4.6 建立数据质量的持续改进工作机制 388
13.4.7 完善元数据管理 388
13.5 主数据管理 389
13.5.1 主数据和主数据管理的概念 389
13.5.2 主数据管理的意义 390
13.5.3 主数据管理系统与数据仓库系统的关系 391
13.5.4 主数据管理解决方案 391
13.6 数据生命周期管理 391
13.6.1 数据创建阶段 392
13.6.2 数据保护阶段 392
13.6.3 数据访问阶段 392
13.6.4 数据迁移阶段 393
13.6.5 数据归档阶段 393
13.6.6 数据回收(销毁)阶段 394
13.7 大数据治理实例 394
13.7.1 浙江电网大数据治理 394
13.7.2 浙江电网大数据治理的四个阶段 396
13.7.3 面向用户的自服务大数据治理架构 399
13.8 大数据治理工具—Apache Atlas 400
13.8.1 Apache Atlas简介 400
13.8.2 Atlas的组件构成 400
本章小结 406
思考题 407
参考文献 407
第14章 大数据安全 408
14.1 大数据安全现状 409
14.2 大数据安全面临的挑战与机遇 411
14.2.1 大数据处理平台出现安全问题的原因 411
14.2.2 大数据安全面临的安全挑战 412
14.2.3 电子政务大数据安全面临的挑战 414
14.2.4 健康医疗大数据安全面临的挑战 415
14.2.5 电商行业大数据安全面临的挑战 416
14.2.6 电信行业大数据安全面临的挑战 417
14.2.7 大数据安全面临的机遇 417
14.3 大数据安全的应对策略 418
14.4 大数据平台安全解决方案 420
14.4.1 Hadoop大数据平台安全问题分析 420
14.4.2 Hadoop大数据平台安全问题解决方法 421
14.4.3 Hadoop大数据平台安全技术方案 424
14.4.4 在Hadoop中保护大数据安全的9个技巧 428
本章小结 429
思考题 429
参考文献 430
第15章 应用案例 431
15.1 日志分析 431
15.1.1 日志分析概述 431
15.1.2 需求分析 432
15.1.3 算法模型 432
15.1.4 架构设计 433
15.1.5 模型实现 434
15.2 电影推荐系统 439
15.2.1 常用的推荐算法 439
15.2.2 ALS算法 440
15.2.3 隐性反馈vs显性反馈 440
15.2.4 豆瓣数据集 441
15.2.5 模型实现 442
15.2.6 模型应用 445
15.3 职位推荐系统 447
15.3.1 框架概述及需求分析 447
15.3.2 算法模型设计 448
15.3.3 架构设计 450
15.3.4 基于Mahout的推荐算法实现 451
15.4 文本情感分析 455
15.4.1 文本情感分析概述 456
15.4.2 架构设计 456
15.4.3 数据预处理 457
15.4.4 文本向量化与特征提取 459
15.4.5 训练分类模型 461
15.5 构建用户画像 462
15.5.1 用户画像构建原则 462
15.5.2 构建用户画像数据仓库 462
15.5.3 用户画像标签构建策略 465
15.5.4 用户画像应用实践 466
本章小结 468
思考题 468
参考文献 468
第16章 大数据处理技术发展趋势 470
16.1 关于中国大数据生态环境的基础问题思考 470
16.2 大数据处理技术生态演变趋势 472
16.3 大数据采集技术发展趋势 473
16.4 大数据存储技术发展趋势 475
16.5 大数据分析技术发展趋势 477
16.6 大数据可视化技术发展趋势 478
本章小结 483
思考题 484
参考文献 484