本书从Hadoop的原理和使用出发,在重点介绍Hadoop生态系统的重要组件HDFS、MapReduce、YARN、Hive和Spark的同时,注重大数据分析能力的全面提高。本书共分13章,主要内容包括Hadoop简介、HDFS文件系统、YARN资源管理、MapReduce计算框架、Hive简介、Hive数据定义、Hive数据操作、Hive数据查询、Spark简介、Spark大数据处理、Spark机器学习流程、Spark有监督学习模型和Spark无监督学习模型。本书内容丰富、体系新颖、结构合理、文字精练,适合作为普通高等院校信息类专业Hadoop大数据分析课程的教材,也可以作为数据科学行业相关从业人员的自学教材。
教材从Hadoop的基本理论,基础教程、高级工具以及进阶教程来对相关理论的理论与技术进行深入分析与讲解。并提供大量的案例从零开始教会读者如何使用Hadoop进行开发以及应用。
随着信息技术的普及和应用,各行各业产生了大量的数据,人们持续不断地探索处理这些数据的方法,以期大限度地从中挖掘有用信息。面对如潮水般不断增加的数据,人们不再满足于数据的查询和统计分析,而是期望从数据中提取信息或者知识为决策服务。数据挖掘技术突破数据分析技术的种种局限,结合统计学、数据库、机器学习等技术解决从数据中发现新的信息并辅助决策这一难题,是正在飞速发展的前沿学科。近年来,随着教育部新工科建设的不断推进,大数据技术受到广泛关注。数据挖掘作为大数据技术的重要实现手段,能够挖掘数据的关联规则,实现数据的分类、聚类、异常检测和时间序列分析等,解决商务管理、生产控制、市场分析、工程设计和科学探索等各行各业中的数据分析与信息挖掘问题。
Hadoop是一系列分布式存储和计算软件,由Doug
Cutting创建,能够支持互联网数据量级别的系统。狭义的Hadoop项目仅包含Hadoop Common、HDFS、YARN和MapReduce 4个组件。广义的Hadoop项目还包含了其他一些衍生性的项目组件,它们或多或少依赖以上4个核心组件,如数据存储依赖于HDFS、作业调度和资源管理依赖YARN,同时它们还解决了一些特定领域的问题。常用的包括Spark、HBase、Hive、Sqoop、Oozie、Impala、Hue、Pig等。
截至2019年1月,共有283所高校获批数据科学与大数据技术专业,其中985及211高校占比13%。目前国内大数据人才缺口更是达到百万级。由于其开源性、易用性和强大的数据分析能力,Hadoop已成为世界范围内应用广泛的数据科学工具和语言之一。目前,Hadoop大数据分析与挖掘逐渐成为高校信息类专业的必修课,同时,作为面向各专业的通识课也广受欢迎。
本书作为立足于应用型本科数据科学与大数据教学的Hadoop核心课教材,具有如下特色:
(1)内容安排合理且全面,从Hadoop的安装配置、分布式数据处理、分布式数据仓库到分布式机器学习,循序渐进,深入浅出。
(2)难度适中,适用于本科中高年级的核心课教材,仅需掌握Python基本编程和Linux基本操作就可以学习本书,对Java编程及数学和算法知识不作为必要基础。
(3)理论与案例相结合,理论与实践相结合,包含了泰坦尼克号乘客生存分析、航班准点数据处理、鸢尾花数据建模等实践案例。
本书主要内容分为以下3部分:
第1部分:Hadoop核心基础,包括第1~4章。第1章为Hadoop简介,包括Hadoop的相关背景、基本概念、安装、配置和运行等。第2章为HDFS文件系统,包括HDFS架构、文件库和常用操作等。第3章为YARN资源管理,包括YARN架构、调度策略和常用操作等。第4章为MapReduce计算框架,包括各MapReduce原理、流程、词频统计和数据连接的实现等。
第2部分:Hive数据仓库,包括第5~8章。第5章为Hive简介,包括Hive的相关背景、基本概念、安装、配置和运行等。第6章为Hive数据定义,包括数据库操作、数据表操作、数据格式、外部表和分区表等。第7章为数据操作,包括数据导入、数据插入和数据导出等。第8章为Hive数据查询,包括基本查询、数据聚合和数据连接等。
第3部分:Spark数据分析,包括第9~13章。第9章为Spark简介,包括Spark的相关背景、基本概念、安装、配置和运行等。第10章为Spark大数据处理,包括大数据的选择、聚合、引用、筛选、连接和变形等。第11章为Spark机器学习流程,包括数据探索、划分、填充、特征选择、建模调优和测试评估等。第12章为Spark有监督学习模型,包括线性、决策树、随机森林、神经网络和协同过滤等。第13章为Spark无监督学习模型,包括k均值聚类、主成分分析和关联分析模型等。
本书例子中的所有数据都可在GitHub上公开下载,地址为https://github.com/ yepdata/hadoop_textbook。
本书由高永彬、钱亮宏和方志军编著。具体分工如下:高永彬编写第1~4章;方志军编写第5~8章,钱亮宏编写第9~13章。全书由范磊和许华根主审。同时感谢戴仁月、严娟和刘敏对本书的贡献。
由于编者水平有限,加之时间仓促,书中难免存在疏漏和不足之处,敬请老师和同学批评指正。
编 者
2019年5月
高永彬:博士、讲师,就职于上海工程技术大学,博士毕业于韩国全北国立大学,在模式识别、机器学习领域积累了大量的研究与实战经验。特别地,在基于深度学习技术的人脸识别以及车型检测技术进行了深入地研究,发表了近30篇期刊/会议论文,取得了丰厚的研究成果,发表在包括Information Sciences, Pattern Recognition Letters等高水平期刊中,其中SCI收录5篇,EI收录4篇。钱亮宏,男,毕业于上海交通大学电子信息与电气工程学院,1989年8月出生,拥有10年R语言使用经验,一直奋战在数据分析与挖掘领域的第一线,作为金融和互联网行业资深数据挖掘专家。方志军,男,教授,现任上海工程技术大学电子电气工程学院院长,1971年9月出生,主要从事人工智能、机器视觉、大数据分析等方面的研究,主讲课程包括数字图像处理、机器视觉、计算机导论、大数据导论和程序设计等。