本书从大数据分析的原理、技术和应用的角度,围绕着大数据分析的基础知识、大数据分析平台的核心原理、大数据分析的关键技术、大数据分析的应用四个方面进行讲述,使学生能掌握大数据分析的基本原理和核心技术,同时通过大数据分析在上市公司信用风险预测研究中的应用案例使学生熟悉大数据分析的原理和技术的实际应用,并能搭建大数据分析平台分析大规模数据集。其中,大数据分析的基础知识包括:大数据产生的背景、大数据的概念、特点、价值、大数据带来的思维变革;大数据分析平台的核心原理包括:两种常用开源大数据分析平台——Hadoop和Spark的起源、发展及应用现状,理解两种平台各自的体系架构、基本运行机制及适用范围,掌握其安装部署过程及基本使用方法,为大数据分析的应用打下基础;大数据分析的关键技术包括:Hadoop分布式文件系统、MapReduce并行编程模型、Hadoop 2.0的资源管理调度框架——YARN、大数据的获取和预处理、大数据的聚类和分类算法。
海沫,博士。中央财经大学信息学院副教授,硕士生导师,校级精品慕课《大数据分析原理与应用》负责人,CCF高级会员。2008年7月毕业于中科院计算所,获工学博士学位。2013年获北京市青年英才计划资助。2017年9月至2018年9月在美国加州大学尔湾分校Donald Bren School of Information and Computer Science访学。主要从事对等网络、分布式算法、大数据处理、社交网络分析、区块链网络和机器学习等领域的研究,在国内外核心期刊和国际会议上发表学术论文60余篇。近年来积极探索教学改革,主持或参与教改项目5项,发表教改论文5篇,参编教材3部。
第4章 MapReduce并行编程模型 83
4.1 MapReduce的概述 83
4.1.1 分布式并行编程 83
4.1.2 MapReduce的简介 84
4.1.3 Map函数和Reduce函数 86
4.2 MapReduce的体系结构 87
4.2.1 MapReduce 1.0体系结构的总体框架 87
4.2.2 Hadoop 2.0的体系结构 88
4.2.3 MapReduce的容错性 89
4.3 MapReduce的工作流程 89
4.3.1 MapReduce工作流程的概述 89
4.3.2 MapReduce的执行过程 90
4.3.3 Shuffle过程详解 93
4.4 MapReduce的实例分析 99
4.4.1 WordCount 99
4.4.2 倒排索引 102
4.4.3 Top-K 106
4.5 MapReduce的编程实践 107
4.5.1 任务要求 107
4.5.2 编写Map处理逻辑 107
4.5.3 编写Reduce处理逻辑 108
4.5.4 编写main方法 109
4.5.5 实验过程 109
4.6 MapReduce的优缺点分析 113
4.6.1 MapReduce的优点 113
4.6.2 MapReduce的缺点 113
4.7 本章小结 114
4.8 本章习题 114
第5章 Hadoop 2.0的资源管理调度框架——YARN 117
5.1 YARN的产生背景 117
5.1.1 MapReduce 1.0中存在的问题 117
5.1.2 YARN的产生 118
5.2 YARN的设计思路 119
5.3 YARN的体系结构 120
5.3.1 YARN的体系结构总体框架 120
5.3.2 YARN各组件功能的介绍 121
5.3.3 YARN的容错性 122
5.4 YARN的工作流程 123
5.5 YARN的优缺点分析 124
5.5.1 YARN的优点 124
5.5.2 YARN的缺点 126
5.6 本章小结 126
5.7 本章习题 127
第6章 大数据的获取和预处理 130
6.1 大数据的获取 130
6.1.1 爬虫的基础知识 130
6.1.2 Scrapy爬虫的原理与流程 139
6.1.3 Scrapy的爬虫实例 141
6.2 数据清洗 146
6.2.1 数据清洗的概述 146
6.2.2 数据清洗的原理 146
6.2.3 数据清洗的流程 147
6.2.4 Pandas数据清洗的实例 148
6.3 数据归约 153
6.3.1 维归约 154
6.3.2 属性选择 154
6.3.3 离散化方法 155
6.3.4 PCA的实例 155
6.4 数据标准化 158
6.4.1 数据标准化的概念 158
6.4.2 数据标准化的方法 158
6.4.3 数据标准化的实例 159
6.5 本章小结 161
6.6 习题 162
第7章 大数据分析算法 163
7.1 聚类算法 163
7.1.1 经典聚类算法 163
7.1.2 大数据聚类算法的应用 184
7.2 分类算法 188
7.2.1 经典分类算法 188
7.2.2 大数据分类算法的应用 215
7.3 本章小结 219
7.4 习题 220
第8章 大数据分析的应用案例 221
8.1 案例背景 221
8.2 数据获取和预处理 222
8.2.1 获取来源 222
8.2.2 数据说明 222
8.2.3 数据预处理 223
8.3 评价指标说明 226
8.4 基于Python的实现 227
8.4.1 基于Python的逻辑回归 227
8.4.2 基于Python的SVM 229
8.4.3 基于Python的朴素贝叶斯 231
8.4.4 基于Python的决策树 232
8.4.5 基于Python的随机森林 234
8.5 基于Spark的实现 236
8.5.1 基于Spark的逻辑回归 236
8.5.2 基于Spark的SVM 237
8.6 实验结果分析 238
8.7 本章小结 239
8.8 习题 239