入选福建省“十四五”普通高等教育本科规划教材
配套课程荣获“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”
2019年福建省精品在线开放课程
全国500多所高校大数据课程选用本教材
京东、当当等各大网店畅销书籍,累计销量突破18万册
扫一扫手机访问本主页
教材配套资源快速访问链接
样书申请
授课教师可以向人民邮电出版社申请样书,出版社联系人孙澍(手机:18911351293)。
下载专区
作者介绍
林子雨(1978-),男,博士(毕业于北京大学),国内高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1000万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”。
主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049)。
教材介绍
本书系统介绍了大数据的相关知识,分为大数据基础篇、大数据存储与管理篇、大数据处理与分析篇、大数据应用篇。全书共17章,内容包含大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、MapReduce、数据仓库Hive、Spark、流计算、Flink、图计算、数据可视化以及大数据在互联网、生物医学领域和其他行业的应用。本书在Hadoop、HDFS、HBase、MapReduce、Hive、Spark和Flink等重要章节安排了入门级的实践操作,以便读者更好地学习和掌握大数据关键技术。
前言
《大数据技术原理与应用(第2版)》于2017年1月出版,在过去的三年里,大数据技术又获得了新的发展,开源流计算框架Flink迅速崛起,在市场上和Spark展开了激烈的角逐。与此同时,Hadoop、HBase和Spark的版本也在不断更新升级,一些编程接口发生了变化。因此,为了适应大数据技术的新发展,继续保持本书的先进性和实用性,我们及时对第2版内容进行了补充和修订。
在篇章设计上,本书依然分为四大部分,包括大数据基础篇、大数据存储与管理篇、大数据处理与分析篇和大数据应用篇。在大数据基础篇中,第1章介绍大数据的基本概念和应用领域,并阐述大数据、云计算和物联网的相互关系;第2章介绍大数据处理架构Hadoop,并把Hadoop版本升级到了3.0。在大数据存储与管理篇中,第3章介绍了分布式文件系统HDFS,在编程实践部分根据3.0版本的HDFS进行了修订;第4章介绍了分布式数据库HBase,在编程实践部分根据HBase2.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章这四章内容由学生自学完成。已经建设大数据教学实验室的高校,可以增加16学时上机实践课。
本书自从2015年7月第1版出版发行以来,得到了越来越多高校一线大数据课程教师的肯定,目前已经成为众多国内高校的大数据课程开课教材。在本书的使用过程中,很多老师给我们团队反馈了大量宝贵的意见、建议以及教学过程中遇到的困惑。比如,如何根据自己高校的课时安排合理选取部分教材章节作为课程内容、如何搭建上机实验环境(采用分布式还是伪分布式)、是否要在教学环节一直使用最新版本的大数据软件、如何实现不同大数据课程之间的有序衔接、采用什么样的编程语言等等。我们团队在自己实际教学经验的基础上,积极为大家答疑解惑,并把相关信息及时发布到教材官网。同时,我们也建立了“大数据课程教师交流群”(QQ群号:461510122),为全国高校大数据一线教师提供在线的沟通交流平台,很多老师都发扬了互帮互助的精神,在群里分享经验、解答问题。
为了更好地使用本书开展大数据教学,笔者为本书编写了配套的实验手册《大数据基础编程、实验和案例教程(第2版)》(注意,不是第3版),该实验手册侧重于介绍大数据软件的安装、使用和基础编程方法,并提供了大量实验和案例。由于大数据软件都是开源软件,安装过程一般比较复杂,也很耗费时间。为了尽量减少读者搭建大数据实验环境时的障碍,笔者在实验手册中详细写出了各种大数据软件的安装过程,可以确保读者顺利完成大数据实验环境搭建。
本书由林子雨执笔。在撰写第3版过程中,厦门大学计算机科学系硕士研究生程璐、林哲、郑宛玉、陈杰祥、陈绍纬、周伟敬等同学做了大量辅助性工作,在此,向他们的辛勤工作表示衷心的感谢。
大数据技术处于快速发展变革之中,我们厦门大学数据库实验室团队会持续跟踪大数据技术发展趋势,努力保持本书内容的新颖性,并把一些较新的教学内容及时发布到本书官网。由于笔者能力有限,书中难免存在不足之处,望广大读者不吝赐教。
林子雨
厦门大学计算机科学系数据库实验室
2020年3月
篇章介绍
第一篇 大数据基础
本篇内容介绍大数据(Big Data)的基本概念、影响和应用领域,并阐述大数据、云计算和物联网的相互关系,同时还将介绍大数据处理架构Hadoop。由于Hadoop已经成为应用最为广泛的大数据技术,因此,本书的大数据相关技术主要围绕Hadoop展开,包括Hadoop MapReduce、HDFS和HBase。本篇内容是理解后续其他篇章内容的基础。
本篇包括2章。第一章介绍大数据的概念和应用,分析了大数据、云计算和物联网的相互关系;第二章介绍大数据处理架构Hadoop。
第二篇 大数据存储
本篇介绍大数据存储相关技术的概念与原理,包括分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库和云数据库。HDFS提供了在廉价服务器集群中进行大规模分布式文件存储的能力。HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。NoSQL数据库可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力,可以有效弥补传统关系型数据库的不足。云数据库是部署和虚拟化在云计算环境中的数据库,可以将用户从繁琐的数据库硬件定制中解放出来,同时让用户拥有强大的数据库扩展能力,满足各种不同类型用户的数据存储需求。需要特别指出的是,虽然云数据库在概念上更偏向于云计算的范畴,但是,云计算和大数据是密不可分的两种技术,不能割裂看待,而且,了解云数据库有助于拓展对大数据存储和管理方式的认识,因此,本篇内容介绍了云数据库的概念和相关产品。
本篇包括4章。第三章介绍分布式文件系统HDFS;第四章介绍分布式数据库HBase;第五章介绍NoSQL数据库;第六章介绍云数据库。
第三篇 大数据处理与分析
本篇介绍大数据处理与分析的相关技术。大数据包括静态数据和动态数据(流数据),静态数据适合采用批处理方式,动态数据需要进行实时计算。分布式并行编程框架MapReduce可以大幅提高程序性能,实现高效的批量数据处理。Hive是一个基于Hadoop的数据仓库工具,可以用于对存储在Hadoop文件中的数据集进行数据整理、特殊查询和分析处理,用户通过编写类似SQL的HiveQL语句就可以运行MapReduce任务,不必编写复杂的MapReduce应用程序。基于内存的分布式计算框架Spark,是一个可应用于大规模数据处理的快速、通用引擎,如今是Apache软件基金会下的顶级开源项目之一,正以其结构一体化、功能多元化的优势,逐渐成为当今大数据领域最热门的大数据计算平台。流计算框架Storm是一个低延迟、可扩展、高可靠的处理引擎,可以有效解决流数据的实时计算问题。Flink是一种具有代表性的开源流处理架构,具有十分强大的功能,它实现了Google Dataflow流计算模型,是一种兼具高吞吐、低延迟和高性能的实时流计算框架,并且同时支持批处理和流处理。大数据中包括很多图结构数据,但是MapReduce不适合用来解决大规模图计算问题,因此新的图计算框架应运而生,Pregel就是其中一种具有代表性的产品。此外,数据可视化是大数据分析的最后环节,也是非常关键的一环,因此本篇简要介绍了数据可视化的概念和相关工具。本篇包括八章。第7章介绍分布式并行编程框架MapReduce;第8章对Hadoop进行了再探讨;第9章介绍基于Hadoop的数据仓库Hive;第10章介绍基于内存的分布式计算框架Spark;第11章介绍流计算和开源流计算框架Storm;第12章介绍开源流处理框架Flink;第13章介绍图计算框架Pregel;第14章简要介绍数据可视化的概念和相关工具。
第四篇 大数据应用
大数据已经在社会生产和日常生活中得到了广泛的应用,对人类社会的发展进步起着重要的推动作用。本篇介绍大数据在互联网、生物医学、物流、城市管理、金融、汽车、零售、餐饮、电信、能源、体育娱乐、安全、政府、日常生活等方面的应用,从中我们可以深刻地感受到大数据对社会的影响及其重要价值。
本篇包括3章。第15章以推荐系统为核心介绍大数据在互联网领域的应用;第16章介绍大数据在生物医学领域的应用;第17章介绍大数据在其他领域的应用。其中,第15章需要重点理解,其他章节可以作为开拓视野的拓展性阅读材料。
第3版教材目录
教学实践
教材勘误
致谢
本书由林子雨执笔。从2015年至今,已经诞生第1版、第2版和第3版教材,在各个版本教材的撰写过程中,实验室很多同学做了大量辅助性工作,包括厦门大学计算机科学系硕士研究生刘颖杰(2012级硕士研究生)、叶林宝(2012级硕士研究生)、蔡珉星(2013级硕士研究生)、李雨倩(女,2013级硕士研究生)、谢荣东(2014级硕士研究生)、罗道文(2014级硕士研究生)、邓少军(2014级硕士研究生)、阮榕城(2015级硕士研究生)、薛倩(2015级硕士研究生)、魏亮(2016级硕士研究生)、曾冠华(2016级硕士研究生)、程璐(2017级硕士研究生)、林哲(2017级硕士研究生)、郑宛玉(2018级硕士研究生)、陈杰祥(2018级硕士研究生)、陈绍纬(2019级硕士研究生)、周伟敬(2019级硕士研究生)以及本科生黄梓铭(2011级本科生)、李粲(女,2012级本科生)等。在此,向这些同学的辛勤工作表示衷心的感谢。同时,衷心感谢实验室夏小云老师对教材建设作出的大量奉献。