前言(第3版)
《大数据技术原理与应用(第2版)》于2017年1月出版。在过去的3年里,大数据技术又获得了新的发展,开源流计算框架Flink迅速崛起,在市场上和Spark展开了激烈的角逐。与此同时,Hadoop、HBase和Spark也在不断更新升级,一些编程接口发生了变化。因此,为适应大数据技术的新发展,继续保持本书的先进性和实用性,我们及时进行了补充和修订。
在结构上,本书依然分为四篇,包括大数据基础篇、大数据存储与管理篇、大数据处理与分析篇和大数据应用篇。
在大数据基础篇中,第1章介绍大数据的基本概念和应用领域,并阐述大数据与云计算、物联网的相互关系;第2章介绍大数据处理架构Hadoop,并把Hadoop版本升级到3.0。
在大数据存储与管理篇中,第3章介绍分布式文件系统HDFS,在编程实践部分根据3.0版本的HDFS进行修订;第4章介绍分布式数据库HBase,在编程实践部分根据HBase 2.0版本的API进行修订;第5章介绍NoSQL数据库,并增加实验内容;第6章介绍云数据库,并删除阿里云RDS的实践内容和相关实验。
在大数据处理与分析篇中,第7章介绍分布式并行编程模型MapReduce;第8章对Hadoop进行再探讨,介绍Hadoop的发展演化和一些新特性;第9章介绍基于Hadoop的数据仓库Hive,该章为本书新增内容,很多大数据教师建议增加此章内容;第10章介绍当前比较热门的、基于内存的分布式计算框架Spark,并把Spark版本升级到2.4.0;第11章介绍流计算以及开源流计算框架Storm;第12章介绍开源流处理框架 Flink,该章为本书新增内容,从而使本书能够反映当前最热门的新兴大数据技术;第13章介绍典型的大数据分析技术——图计算;最后在第14章简单介绍可视化技术。
在大数据应用篇中,用3章(第15章~第17章)内容介绍大数据在互联网、生物医学领域的应用和其他的典型应用。
本书是厦门大学计算机科学系大数据课程的配套教材,根据近几年的教学实践,建议安排32学时的理论课,16个教学周,每周2学时。每章的具体学时分配如下:第1、3、4、5、8、9、11、12、13、15章每章安排2学时;第2、7、10章每章安排4学时;第6、14、16、17章这4章内容由学生自学完成。已经建设大数据教学实验室的高校,可以增加16学时的上机实践课。
本书自2015年7月第1版出版以来,得到了越来越多高校一线大数据课程教师的肯定,目前已经成为众多国内高校的大数据课程开课教材。在本书的使用过程中,很多老师给我们团队反馈了大量宝贵的意见、建议以及教学过程中遇到的困惑。比如如何根据自己高校的课时安排,合理选取部分教材章节作为课程内容,如何搭建上机实验环境(采用分布式还是伪分布式),是否要在教学环节一直使用最新版本的大数据软件,如何实现不同大数据课程之间的有序衔接,采用什么样的编程语言等。我们团队在自己实际教学经验的基础上,积极为大家答疑解惑,并把相关信息及时发布到教材官网。同时,我们也建立了“大数据课程教师交流群”(QQ群号:461510122),为全国高校大数据一线教师提供在线的沟通交流平台。很多老师都发扬了互帮互助的精神,在群里分享经验、解答问题。
为了更好地使用本书开展大数据教学,笔者为本书编写了配套的实验手册《大数据基础编程、实验和案例教程(第2版)》(注意,不是第3版)。该实验手册侧重于介绍大数据软件的安装、使用和基础编程方法,并提供了大量实验和案例。大数据软件大多是开源软件,安装过程一般比较复杂,也很耗费时间。为了尽量减少读者搭建大数据实验环境时的障碍,笔者在实验手册中详细写出了各种大数据软件的安装过程,可以确保读者顺利完成大数据实验环境搭建。
本书官方网站是 http://dblab.xmu.edu.cn/post/bigdata3/,免费提供了全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在学习大数据课程的过程中,欢迎读者访问厦门大学数据库实验室建设的国内首个高校大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata-teaching-platform/),该平台为教师教学和学生学习大数据课程提供教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等,提供全方位、一站式免费服务。
本书由林子雨执笔。在编写第3版过程中,厦门大学计算机科学系硕士研究生程璐、林哲、郑宛玉、陈杰祥、陈绍纬、周伟敬等同学做了大量辅助性工作,在此,向他们表示衷心的感谢。
大数据技术处于快速发展和变革之中,我们厦门大学数据库实验室团队会持续跟踪大数据技术发展趋势,努力保持本书内容的新颖性,并把一些较新的教学内容及时发布到本书官网。书中难免存在不足之处,望广大读者不吝赐教。
林子雨
2020年10月于厦门大学计算机科学系数据库实验室