本书通过原理加案例方式,以任务为导向,较为全面系统讲解了Hadoop大数据开发的相关知识。精心安排了原理分析,Hadoop集群环境搭建配置、Hadoop操作、MapReduce编程以及项目案例开发等环节,使读者对解决大数据问题有清晰的思路。全书突出了原理清晰,思路透彻、案例实用这几个特点,通过实践帮助读者巩固所学内容。通过向学生系统地讲解大数据系统的组成部分及相关功能,后结合一个完整的案例来帮助学生理解和巩固大数据系统的相关知识,从而掌握大数据分析和处理的流程。该教材由校内教师和企业教师共同编写,能够代表行业对于大数据类人才的新需求,可以作为高等院校大数据专业的基础教材。
(1)该教材的编写由校内教师、985高校教师和企业教师共同完成。由于《大数据技术基础》课程的重要地位和实践特点,高校教师和企业教师都非常重视该教材的编写。目前,《大数据技术基础》课程是我校1门校企合作课程。基于文华学院的大数据特色专业学科建设和浪潮大数据实验室的平台,给学生提供良好的教学和实践平台,该教材由校内教师和企业教师共同编写。 (2)基于案例驱动的教学内容设计。以往的许多教材在内容上一般只有针对知识点的基础案例,缺乏应用案例,从而使学生感到高深莫测和畏难情绪。因此,我们在该教材的编写过程中精心设计应用案例,以确保应用的完整性。 (3)在该教材的编写中,先给学生讲解大数据系统的组成部分及各部分功能,后讲解一个完整的案例帮助学生理解和巩固知识点,掌握大数据分析和处理的流程。这样学生就掌握了每个知识点的应用价值,学习起来更有兴趣和信心。 (4)本书兼顾了湖北省应用型高等学校的人才培养特点以及研究型大学的实践教学需要,为了更好地提高学生的专业技能训练以及提高学生的学习兴趣。
当今大数据技术是热门的计算机技术之一,互联网已进入大数据、人工智能时代。大数据技术已广泛应用于各行各业并将继续影响人类生产生活的方方面面,深刻改变着人类的思维、生产、生活、学习方式,深刻展示了世界发展的前景。2015年9月5日,国务院正式下发《国务院关于印发促进大数据发展行动纲要的通知》。在大数据时代,数据的存储与挖掘至关重要。企业资本则以BAT互联网公司为首,不断追求高可靠性、高扩展性及高容错性的大数据处理平台的同时还希望能够降低成本进行大数据创新,实现大数据的商业价值。而Hadoop为实现这些需求提供了解决方案。Hadoop作为大数据生态系统中的典型核心框架,专为离线和大规模数据处理而设计。Hadoop的核心组件HDFS为海量数据提供了分布式存储并具备高拓展性,通过数据冗余保证数据不丢失和提升计算效率;而MapReduce组件则为海量数据提供了分布式计算。许多互联网企业公司都使用Hadoop及配合数据挖掘的一系列算法来实现其核心业务,如阿里云、京东云、腾讯云、华为云等云平台都提供了各类系统级的大数据计算处理。本书以Hadoop为核心,系统阐述了基于这种通用大数据处理平台的应用开发技术,由浅入深,逐步扩展组件构建一个完整的Hadoop生态圈。在这个生态圈中,通过HDFS认识分布式存储系统;以MapReduce详解分布式计算的步骤;利用HBase分析适合NOSQL数据存储的分布式数据库;利用Hive数据仓库分析SQL查询转换为分布式计算;利用Storm进行Hadoop生态圈中的分布式实时计算。后通过几个典型的综合应用案例来讲解如何利用Hadoop生态体系的技术来解决实际问题。通过整本书的学习,读者应该能熟练掌握系统架构以及业务流程,并使用Hadoop集成环境进行数据采集、数据预处理、数据仓库的设计、数据分析以及可视化处理以实现完整的大数据项目的开发。本书努力将难以理解的思想具体化、简单化,让初学者能够轻松理解并快速掌握。本书对每个知识点也以图文并茂的方式进行了深入系统的分析,力求让读者在实际工作中能理解这些知识点并将其加以运用。本书由王志编写,在成书过程中得到了文华学院的支持,并由郭胜、詹玲两位老师提供大量的数据和项目支撑,俞侃教授也给予了鼎力支持,在此表示衷心的感谢。由于作者水平有限,不足之处在所难免,恳请读者指正。
编者2020年11月
毕业于英国南岸大学因特网与多媒体工程专业,2005年入职文华学院,一直从事计算机方向的课程教学,具有多年Java、数据库等课程的教学经验。参与了大数据挖掘与并行处理的实践教学研究、《大学计算机基础》精品课程等多项教改项目。1、参编《新编计算机专业英语》清华大学出版社2、参编《数据库系统原理及应用》清华大学出版社3、参编《数据库系统原理及应用习题解析与项目实训》清华大学出版社4、参编《数据结构(C语言版)》清华大学出版社
第1章大数据技术简介(1)
1.1大数据的产生和发展背景(1)
1.2大数据的本质和特征(4)
1.3大数据的技术现状(7)
1.4大数据的潜在价值(10)
1.5大数据的挑战(14)
1.6大数据的技术发展趋势(17)
第2章大数据技术总体架构和关键技术(19)
2.1大数据系统总体架构(19)
2.2大数据存储与管理技术(20)
2.3大数据处理技术(23)
2.4大数据查询技术(28)
2.5大数据分析技术(30)
2.6数据可视化技术(33)
第3章Hadoop环境搭建(37)
3.1Hadoop简介(37)
3.2Hadoop核心架构(39)
3.3Hadoop安装(41)
第4章并行计算框架MapReduce(52)
4.1MapReduce简介(52)
4.2MRv1架构(55)
4.3MRv2架构(61)
4.4MapReduce编程实例(67)
第5章分布式文件系统HDFS(73)
5.1HDFS的基本特征与架构(73)
5.2HDFS的高可用设计(76)
5.3HDFS数据组织方式与读/写流程分析(79)
5.4HDFS操作命令(83)
5.5HDFS基本编程接口(90)
第6章列式存储数据库HBase(100)
6.1HBase简介(100)
6.2HBase的基础架构(101)
6.3安装HBase(104)
6.4HBase的基本操作(108)
6.5HBase客户端(114)
6.6HBase编程实践(117)
第7章数据仓库工具Hive(121)
7.1关于Hive(121)
7.2数据类型与文件格式(125)
7.3HiveQL:Hive查询语言(127)
7.4表(138)
7.5函数(140)
7.6Hive的实践(146)
第8章分布式实时计算框架Storm(151)
8.1背景介绍(151)
8.2Storm体系概要(152)
8.3Storm数据流模型(155)
8.4Storm集群安装部署(164)
8.5Storm实战与进阶(168)
第9章大数据案例之文华学院招生与就业系统(179)
9.1文华学院招生与就业大数据系统需求(179)
9.2文华学院招生与就业大数据系统总体设计(181)
9.3文华学院招生与就业大数据处理流程(183)
9.4文华学院招生与就业大数据系统可视化(185)
第10章大数据案例之手机销售数据统计分析系统(198)
10.1应用项目案例需求介绍(198)
10.2需求功能分析与设计(198)
10.3项目整体系统架构设计(199)
10.4Phoenix的安装与使用(200)
10.5案例项目详细设计(203)
10.6销售数据分析客户端页面(220)
10.7小结(222)
第11章大数据案例之基于HBase的对象存储服务(223)
11.1国内外知名对象存储服务(223)
11.2本项目基本需求(227)
11.3技术选型(228)
11.4功能模块设计(230)
11.5数据库设计(231)
11.6HBase优化(233)
11.7代码(234)
11.8测试(242)
11.9小结(248)
参考文献(249)