《大数据基础》是新世纪高职高专教材编审委员会组编的大数据专业系列规划教材之一。
随着计算机信息技术的发展,云计算与大数据技术的出现成为信息产业的重大变革。云计算、物联网、移动互联网的迅速发展催生了大数据时代的到来,从多种类型的海量数据中快速获得有价值信息的能力就是大数据技术,其核心价值是对海量数据的存储和分析。随着大数据相关产业的发展,社会急需大量懂技术、能应用的专业技术人才,大数据技术与应用专业己经列入高等职业学校专业目录,大数据技术与应用专业的人才培养面临着新的挑战和机遇。
本教材针对高职院校大数据技术与应用型人才培养的目标、教学对象、教学特点和软、硬件环境而编写,结合编者的一线教学经验,具有实用性、操作性强等特点。本教材得到江苏省高校“青蓝工程”项目资助(软件技术优秀教学团队)。作为大数据课程体系的一部分,本教材理论与实践紧密联系,能更好地满足实践教学。全书注重实用性,图文并茂,知识点也以精练为主,理实一体化,读者学习每一任务只需要花少量的时间即可直接进行实践操作。
本教材的体系结构及知识点的分布按照学习思维逻辑由浅入深、循序渐进、以学代教的模式编排,编者建议学者按照项目编排顺序学习和开展实训,这样有利于较为全面地了解大数据技术及应用。本教材共9个项目,主要内容安排如下:
项目1主要从理论方面介绍了大数据的基本特征、大数据的影响、大数据处理的基本流程以及大数据与云计算、物联网的关系。介绍了Hadoop生态系统中主要组件的功能以及Hadoop在各个行业中的应用。
项目2完成了在VirtualBox下安装Ubuntu操作系统、Ubuntu的网络配置,以及安装和配置FTP软件FileZilla,利用FileZilla软件在Windows系统和Linux系统之间传输文件。
项目3完成了Hadoop在虚拟机环境下的单机模式安装和伪分布模式安装,并介绍了伪分布模式下的单词统计实例。
项目4介绍了HDFS的工作原理以及文件操作,通过读文件、写文件、判断文件是否存在三个案例的学习完成在Eclipse中编写程序、编译程序、部署程序。
项目5介绍了HBase基本概念、体系架构,接着完成了单机模式和伪分布模式的安装与配置,最后完成Eclipse环境中HBase Java API编程环境的配置以及使用Java API提供的类实现数据库存储管理。
项目6主要通过MapReduce编程模型的学习,完成英语单词统计和气象数据分析,深刻理解并学会运用MapReduce系统。
项目7通过Hive的学习学会建数据库和表、管理数据库和表、Hive数据导入和导出等相关操作。最后完成Hive在交易数据统计分析中的应用。
项目8首先介绍了Flume的安装与配置以及利用Flume将日志采集到HDFS,然后介绍了Sqoop的功能以及利用Sqoop实现了关系数据库MySQL与Hadoop生态系统HDFS和Hive之间数据相互迁移。
项目9介绍了数据可视化的概念和常用工具等,然后通过Echarts绘制简单图表示例的介绍引领读者一步一步绘制未来一周气温变化图和网站访问量统计图。
在编写本教材的过程中,编者参考、引用和改编了国内外出版物中的相关资料以及网络资源,在此表示深深的谢意!相关著作权人看到本教材后,请与出版社联系,出版社将按照相关法律的规定支付稿酬。
由于编者的水平有限,书中难免有疏漏和错误之处,恳请广大读者批评指正。
项目1 大数据概述 / 1
任务1 初识大数据 / 1
1.1.1 大数据的基本特征 / 2
1.1.2 大数据的影响 / 3
1.1.3 大数据处理的基本流程 / 3
1.1.4 大数据与云计算、物联网的关系 / 5
任务2 认识Hadoop生态系统 / 6
1.2.1 Hadoop生态系统概述 / 6
1.2.2 Hadoop行业应用案例 / 12
项目小结 / 13
课后练习 / 13
项目2 Linux操作系统的安装及常用命令 / 14
任务1 安装及配置Linux虚拟机 / 14
2.1.1 创建Linux虚拟机 / 15
2.1.2 搭建FTP远程连接虚拟机 / 28
2.1.3 在虚拟机上安装软件 / 31
任务2 Linux系统常用命令 / 33
2.2.1 熟练使用文件目录类命令 / 33
2.2.2 熟练使用vim编辑器 / 35
项目小结 / 36
课后练习 / 36
项目3 Hadoop集群部署 / 38
任务1 Hadoop安装与配置 / 38
3.1.1 创建hadoop用户 / 39
3.1.2 安装SSH,配置SSH无密码登录 / 39
3.1.3 安装Java环境 / 40
3.1.4 单机模式安装 / 40
3.1.5 伪分布模式安装 / 41
任务2 Hadoop的启动和测试 / 42
任务3 Hadoop伪分布模式实例 / 44
项目小结 / 45
课后练习 / 45
项目4 HDFS基础操作 / 46
任务1 认识HDFS / 46
4.1.1 HDFS工作原理 / 47
4.1.2 HDFS常用命令 / 49
任务2 上传文件到HDFS目录 / 50
4.2.1 在HDFS中新建目录 / 50
4.2.2 上传和下载文件 / 51
4.2.3 查看文件内容 / 52
4.2.4 删除文件或目录 / 52
任务3 编写HDFS程序 / 53
4.3.1 读取HDFS文件 / 53
4.3.2 向HDFS中写入文件 / 62
4.3.3 判断文件是否存在 / 62
项目小结 / 63
课后练习 / 63
项目5 HBase数据库的安装与应用 / 65
任务1 认识HBase / 65
5.1.1 HBase简介 / 66
5.1.2 HBase基本概念 / 66
5.1.3 HBase体系架构 / 69
任务2 HBase开发环境安装与配置 / 71
5.2.1 单机模式安装与配置 / 71
5.2.2 伪分布模式安装与配置 / 74
任务3 使用HBase Shell管理分布式数据库 / 77
5.3.1 HBase Shell命令简介 / 78
5.3.2 HBase Shell的使用 / 79
任务4 HBase编程 / 83
5.4.1 开发HBase应用程序 / 84
5.4.2 HBase编程实现数据存储管理 / 87
项目小结 / 92
课后练习 / 92
项目6 MapReduce应用开发 / 93
任务1 认识MapReduce编程模型 / 93
6.1.1 MapReduce概念 / 94
6.1.2 MapReduce编程模型 / 94
6.1.3 MapReduce数据类型 / 97
任务2 使用Eclipse创建MapReduce工程 / 97
6.2.1 下载安装HadoopEclipsePlugin插件 / 98
6.2.2 配置 MapReduce环境 / 98
6.2.3 在Eclipse中操作 HDFS中的文件 / 100
任务3 MapReduce实现英语单词统计 / 101
任务4 MapReduce实现气象数据分析 / 115
项目小结 / 123
课后练习 / 123
项目7 Hive数据仓库 / 126
任务1 认识Hive / 126
7.1.1 Hive简介 / 127
7.1.2 Hive架构设计 / 127
7.1.3 Hive与传统关系数据库的对比 / 129
任务2 Hive安装与配置 / 131
任务3 Hive Shell操作 / 133
7.3.1 Hive的数据类型 / 133
7.3.2 Hive基本操作 / 139
任务4 Hive交易数据统计实战 / 148
项目小结 / 153
课后练习 / 153
项目8 Flume和Sqoop的安装与使用 / 156
任务1 认识Flume / 156
8.1.1 Flume相关概念 / 157
8.1.2 Flume架构 / 158
8.1.3 Flume常用的类型 / 159
8.1.4 Flume常用操作命令 / 160
任务2 Flume环境搭建 / 161
8.2.1 Flume安装与配置 / 161
8.2.2 Flume采集日志信息到HDFS / 162
任务3 安装Sqoop / 165
任务4 使用Sqoop实现数据迁移 / 168
8.4.1 Sqoop命令介绍 / 168
8.4.2 使用Sqoop将数据从MySQL导入HDFS / 169
8.4.3 使用Sqoop将数据从HDFS导出MySQL / 174
8.4.4 使用Sqoop将数据从MySQL导入Hive / 177
项目小结 / 178
课后练习 / 178
项目9 数据可视化技术 / 179
任务1 数据可视化简介 / 179
9.1.1 数据可视化概述 / 180
9.1.2 数据可视化常用工具 / 182
任务2 使用ECharts绘制图表 / 183
9.2.1 ECharts图表制作示例 / 183
9.2.2 绘制未来一周气温变化图 / 186
9.2.3 绘制网站访问南丁格尔图 / 189
项目小结 / 192
课后练习 / 192
参考文献 / 194