“大数据技术与应用”是一门大数据知识入门课程,是数据科学与大数据技术、计算机科学与技术、软件工程等专业的重要前沿理论课程,对于信息类专业的学生掌握大数据相关理论知识并与企业工程实践接轨具有十分重要的作用。本书共包含9章,第1章为初识大数据,第2章为大数据采集,第3章为大数据预处理,第4章为大数据存储,第5章为大数据计算,第6章为大数据挖掘,第7章为大数据安全,第8章为大数据可视化,第9章为大数据应用案例。本书以大数据生命周期为主线,通过理论学习+应用案例,使学生参与到大数据实际处理、分析中来,有利于学生深入理解大数据技术、综合应用大数据技术和面向产业实践大数据技术。本书可作为本科院校相关专业课程的教材,也可供相关技术人员参考。
赵亮,博士,大连理工大学控制科学与工程学院副教授,硕士生导师。从事工业互联网、智能控制及建筑能源系统信息化等方面的研究,IEC国际标委会委员,辽宁省优秀博士学位论文获得者,英国Staffordshire University访问学者。负责国家自然科学基金项目1项、国家工信部绿色制造系统集成项目1项、辽宁省科技创新重大专项项目1项,负责企业委托开发项目多项,参与国家863重点项目、国家科技支撑项目1项、国家自然科学基金项目等多项,获日内瓦国际发明金奖1项、辽宁省科技进步三等奖1项,获得专利2项,软件著作权登记5项,发表论文50余篇。
第1章 初识大数据 1
1.1 大数据的概述 1
1.1.1 大数据时代的背景及定义 1
1.1.2 大数据的特征 3
1.1.3 大数据的数据类型 4
1.2 大数据的发展 6
1.2.1 大数据概念的发展 6
1.2.2 大数据技术的发展 8
1.3 大数据的关键技术 9
1.3.1 大数据采集 9
1.3.2 大数据预处理 10
1.3.3 大数据存储 10
1.3.4 大数据计算 12
1.3.5 大数据挖掘 13
1.3.6 大数据安全 14
1.3.7 大数据可视化 16
1.4 大数据的应用案例 17
1.4.1 大数据在金融领域中的应用 17
1.4.2 大数据在医疗领域中的应用 17
1.4.3 大数据在交通领域中的应用 18
1.4.4 大数据在土地资源领域中的应用 19
1.4.5 大数据的其他应用 19
1.5 大数据面临的挑战 20
1.5.1 数据隐私和安全 20
1.5.2 数据存储和处理 20
1.5.3 数据共享机制 20
1.5.4 价值挖掘问题 21
1.5.5 其他挑战 21
1.6 大数据的发展趋势 22
思考题 24
第2章 大数据采集 25
2.1 大数据采集的基础 25
2.1.1 传统数据采集 25
2.1.2 大数据采集的概述 26
2.2 大数据采集的架构 27
2.2.1 Scribe 28
2.2.2 Chukwa 29
2.2.3 Kafka 30
2.2.4 Flume 35
2.3 互联网数据抓取与处理技术 37
2.3.1 App端数据采集 38
2.3.2 网络爬虫 39
2.3.3 常用的网络爬虫方法 43
2.3.4 文本数据处理 48
思考题 56
第3章 大数据预处理 57
3.1 数据基础的概念 57
3.1.1 数据对象与属性类型 57
3.1.2 数据的统计描述 58
3.1.3 数据相似性和相异性的度量方法 62
3.2 数据预处理的概述 65
3.2.1 数据质量 66
3.2.2 主要任务 66
3.3 数据清洗 67
3.3.1 缺失值处理 67
3.3.2 光滑噪声数据处理 68
3.3.3 检测偏差与纠正偏差 70
3.4 数据集成 70
3.4.1 模式识别和对象匹配 71
3.4.2 冗余问题 71
3.4.3 元组重复 73
3.4.4 数据值冲突的检测与处理 73
3.5 数据规约 74
3.5.1 离散小波变换 74
3.5.2 主成分分析 75
3.5.3 属性子集选择 75
3.5.4 回归和对数线性模型 76
3.5.5 直方图 77
3.5.6 聚类 78
3.5.7 抽样 78
3.5.8 数据立方体聚集 79
3.6 数据转换 80
3.6.1 通过规范化变换数据 81
3.6.2 通过离散化变换数据 82
3.6.3 标称数据的概念分层变换 83
思考题 84
第4章 大数据存储 85
4.1 HDFS 85
4.1.1 HDFS的概述 85
4.1.2 HDFS的相关概念 88
4.1.3 HDFS的体系结构 91
4.1.4 HDFS的存储原理 93
4.1.5 HDFS的数据读/写过程 96
4.2 分布式数据库HBase 98
4.2.1 概述 98
4.2.2 HBase访问接口 100
4.2.3 HBase列族数据模型 101
4.2.4 HBase的实现 106
4.2.5 HBase的运行机制 110
4.3 NoSQL 114
4.3.1 NoSQL的简介 114
4.3.2 NoSQL的三大基石 118
思考题 122
第5章 大数据计算 123
5.1 批处理计算 123
5.1.1 MapReduce的概述 124
5.1.2 Map和Reduce 124
5.1.3 MapReduce的工作流程 125
5.1.4 MapReduce实例 129
5.2 流计算 133
5.2.1 流计算的概述 133
5.2.2 Storm 134
5.2.3 增量算法 136
5.3 图计算 137
5.3.1 图计算的概述 137
5.3.2 Pregel 138
5.4 查询分析计算 141
5.5 云计算 143
5.5.1 云计算的概述 143
5.5.2 云计算的关键技术 144
5.5.3 云计算与大数据 145
5.6 大数据计算平台 146
5.6.1 Hadoop 146
5.6.2 Spark 154
思考题 160
第6章 大数据挖掘 162
6.1 数据挖掘的基础 162
6.1.1 数据挖掘的概述 162
6.1.2 数据挖掘的主要任务 164
6.1.3 数据挖掘的对象 168
6.1.4 数据挖掘的工具 168
6.2 聚类分析 171
6.2.1 聚类分析的概述 171
6.2.2 基于划分的聚类算法 174
6.2.3 基于层次的聚类算法 183
6.2.4 基于密度的聚类算法 190
6.2.5 基于模型的聚类算法 194
6.3 分类分析 195
6.3.1 分类的基础知识 195
6.3.2 决策树分类 197
6.3.3 最近邻分类器 202
6.3.4 贝叶斯分类器 204
6.3.5 支持向量机预测 205
6.3.6 神经网络预测 214
6.4 回归分析 220
6.4.1 回归分析的概述 220
6.4.2 线性回归模型 221
6.4.3 支持向量回归模型 223
6.4.4 逻辑回归模型 225
6.5 关联分析 227
6.5.1 关联分析的概述 228
6.5.2 Apriori算法 230
6.5.3 FP增长算法 235