描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302559771
全国高校大数据教学知名教师以多年大数据教学经验为基础的倾心之作。
全国众多高校开课教材《大数据技术原理与应用》*指定配套实验指导书。
教程官网提供全书实验代码、相关软件、授课视频等资源一站式免费下载。
高校大数据课程公共服务平台为本教程提供数字化教学资源全方位配套服务。
本实践教程主要介绍大数据软件环境的搭建、大数据基础编程和大数据实验案例,可以帮助大数据学习者有效构建大数据实验环境,快速开展入门级编程。内容包括Linux系统的安装、Hadoop的安装、HDFS基础编程、HBase安装和基础编程、MapReduce基础编程、Hive安装和基础编程、MongoDB安装和基础编程、Redis安装和基础编程、数据仓库Hive安装和基础编程、可视化工具安装和使用、Spark安装和基础编程、大数据实验综合案例
第1章大数据技术概述/1
1.1大数据时代/1
1.2大数据关键技术/2
1.3大数据软件/3
1.3.1Hadoop/4
1.3.2Spark/5
1.3.3NoSQL数据库/5
1.4内容安排/6
1.5在线资源/8
1.6本章小结/10
第2章Linux系统的安装和使用/11
2.1Linux系统简介/11
2.2Linux系统安装/11
2.2.1下载安装文件/12
2.2.2Linux系统的安装方式/12
2.2.3安装Linux虚拟机/13
2.2.4生成Linux虚拟机镜像文件/35
2.3Linux系统及相关软件的基本使用方法/36
2.3.1Shell/36
2.3.2root用户/37
2.3.3创建普通用户/37
2.3.4sudo命令/38
2.3.5常用的Linux系统命令/38
2.3.6文件解压缩/39
2.3.7常用的目录/39
2.3.8目录的权限/40
2.3.9更新APT/40
2.3.10切换中英文输入法/42
2.3.11vim编辑器的使用方法/42
2.3.12在Windows系统中使用SSH方式登录Linux系统/43
2.3.13在Linux系统中安装Eclipse/46
2.3.14其他使用技巧/47
2.4关于本书内容的一些约定/47
2.5本章小结/48
第3章Hadoop的安装和使用/49
3.1Hadoop简介/49
3.2安装Hadoop前的准备工作/49
3.2.1创建hadoop用户/50
3.2.2更新APT/50
3.2.3安装SSH/50
3.2.4安装Java环境/51
3.3安装Hadoop/52
3.3.1下载安装文件/53
3.3.2单机模式配置/53
3.3.3伪分布式模式配置/54
3.3.4分布式模式配置/61
3.4本章小结/70
第4章HDFS操作方法和基础编程/71
4.1HDFS操作常用的Shell命令/71
4.1.1查看命令的用法/71
4.1.2HDFS操作/73
4.2利用HDFS的Web管理界面/75
4.3HDFS编程实践/75
4.3.1在Eclipse中创建项目/75
4.3.2为项目添加需要用到的JAR包/76
4.3.3编写Java应用程序/79
4.3.4编译运行程序/82
4.3.5应用程序的部署/83
4.4本章小结/86
第5章HBase的安装和基础编程/88
5.1安装HBase/88
5.1.1下载安装文件/88
5.1.2配置环境变量/89
5.1.3添加用户权限/89
5.1.4查看HBase版本信息/89
5.2HBase的配置/90
5.2.1单机模式配置/90
5.2.2伪分布式模式配置/92
5.3HBase常用的Shell命令/94
5.3.1在HBase中创建表/94
5.3.2添加数据/94
5.3.3查看数据/95
5.3.4删除数据/96
5.3.5删除表/97
5.3.6查询历史数据/97
5.3.7退出HBase数据库/97
5.4HBase编程实践/98
5.4.1在Eclipse中创建项目/98
5.4.2为项目添加需要用到的JAR包/100
5.4.3编写Java应用程序/102
5.4.4编译运行程序/105
5.5本章小结/106
第6章典型NoSQL数据库的安装和使用/108
6.1Redis的安装和使用/108
6.1.1Redis简介/108
6.1.2安装Redis/108
6.1.3Redis实例演示/110
6.2MongoDB的安装和使用/111
6.2.1MongDB简介/111
6.2.2安装MongoDB/112
6.2.3使用Shell命令操作MongoDB/113
6.2.4Java API编程实例/118
6.3本章小结/122
第7章MapReduce基础编程/123
7.1词频统计任务要求/123
7.2MapReduce程序编写方法/124
7.2.1编写Map处理逻辑/124
7.2.2编写Reduce处理逻辑/124
7.2.3编写main方法/125
7.2.4完整的词频统计程序/126
7.3编译打包程序/127
7.3.1使用命令行编译打包词频统计程序/128
7.3.2使用Eclipse编译打包词频统计程序/128
7.4运行程序/136
7.5本章小结/139
第8章数据仓库Hive的安装和使用/140
8.1Hive的安装/140
8.1.1下载安装文件/140
8.1.2配置环境变量/141
8.1.3修改配置文件/141
8.1.4安装并配置MySQL/142
8.2Hive的数据类型/144
8.3Hive基本操作/145
8.3.1创建数据库、表、视图/145
8.3.2删除数据库、表、视图/146
8.3.3修改数据库、表、视图/147
8.3.4查看数据库、表、视图/148
8.3.5描述数据库、表、视图/148
8.3.6向表中装载数据/149
8.3.7查询表中数据/149
8.3.8向表中插入数据或从表中导出数据/149
8.4Hive应用实例: WordCount/150
8.5Hive编程的优势/151
8.6本章小结/151
第9章Spark的安装和基础编程/152
9.1基础环境/152
9.2安装Spark/152
9.2.1下载安装文件/152
9.2.2配置相关文件/153
9.3使用 Spark Shell编写代码/154
9.3.1启动Spark Shell/154
9.3.2读取文件/155
9.3.3编写词频统计程序/156
9.4编写Spark独立应用程序/157
9.4.1用Scala语言编写Spark独立应用程序/157
9.4.2用Java语言编写Spark独立应用程序/161
9.5本章小结/164
第10章Flink的安装和基础编程/165
10.1安装Flink/165
10.2编程实现WordCount程序/167
10.2.1安装Maven/167
10.2.2编写代码/167
10.2.3使用Maven打包Java程序/171
10.2.4通过flink run命令运行程序/172
10.3本章小结/172
第11章典型可视化工具的使用方法/173
11.1D3可视化库的使用方法/173
11.1.1D3可视化库的安装/173
11.1.2基本操作/174
11.2使用ECharts制作图表/182
11.2.1ECharts简介/182
11.2.2ECharts图表制作方法/182
11.3本章小结/185
第12章数据采集工具的安装和使用/186
12.1Kafka/186
12.1.1Kafka相关概念/186
12.1.2安装Kafka/186
12.1.3一个实例/187
12.2实例: 编写Spark程序使用Kafka数据源/188
12.2.1Kafka准备工作/188
12.2.2Spark准备工作/190
12.2.3编写Spark程序使用Kafka数据源/191
12.3本章小结/197
第13章大数据课程综合实验案例/198
13.1案例简介/198
13.1.1案例目的/198
13.1.2适用对象/198
13.1.3时间安排/198
13.1.4预备知识/198
13.1.5硬件要求/199
13.1.6软件工具/199
13.1.7数据集/199
13.1.8案例任务/199
13.2实验环境搭建/200
13.3实验步骤概述/200
13.4本地数据集上传到数据仓库Hive/201
13.4.1实验数据集的下载/201
13.4.2数据集的预处理/203
13.4.3导入数据库/206
13.5Hive数据分析/209
13.5.1简单查询分析/209
13.5.2查询条数统计分析/211
13.5.3关键字条件查询分析/213
13.5.4根据用户行为分析/214
13.5.5用户实时查询分析/215
13.6Hive、MySQL、HBase数据互导/216
13.6.1Hive预操作/216
13.6.2使用Java API将数据从Hive导入MySQL/217
13.6.3使用HBase Java API把数据从本地导入HBase中/222
13.7使用R进行数据可视化分析/229
13.7.1安装R/229
13.7.2安装依赖库/230
13.7.3可视化分析/232
13.8本章小结/236
第14章实验/237
14.1实验一: 熟悉常用的Linux操作和Hadoop操作/237
14.1.1实验目的/237
14.1.2实验平台/237
14.1.3实验步骤/237
14.1.4实验报告/239
14.2实验二: 熟悉常用的HDFS操作/239
14.2.1实验目的/239
14.2.2实验平台/239
14.2.3实验步骤/240
14.2.4实验报告/240
14.3实验三: 熟悉常用的HBase操作/241
14.3.1实验目的/241
14.3.2实验平台/241
14.3.3实验步骤/241
14.3.4实验报告/242
14.4实验四: NoSQL和关系数据库的操作比较/243
14.4.1实验目的/243
14.4.2实验平台/243
14.4.3实验步骤/243
14.4.4实验报告/246
14.5实验五: MapReduce初级编程实践/247
14.5.1实验目的/247
14.5.2实验平台/247
14.5.3实验步骤/247
14.5.4实验报告/249
14.6实验六: 熟悉Hive的基本操作/250
14.6.1实验目的/250
14.6.2实验平台/250
14.6.3数据集/250
14.6.4实验步骤/250
14.6.5实验报告/251
14.7实验七: Spark初级编程实践/252
14.7.1实验目的/252
14.7.2实验平台/252
14.7.3实验步骤/252
14.7.4实验报告/254
14.8实验八: Flink初级编程实践/254
14.8.1实验目的/254
14.8.2实验平台/254
14.8.3实验步骤/254
14.8.4实验报告/255
附录A实验参考答案/256
A.1“实验一: 熟悉常用的Linux操作和Hadoop操作”实验步骤/256
A.2“实验二: 熟悉常用的HDFS操作”实验步骤/261
A.3“实验三: 熟悉常用的HBase操作”实验步骤/280
A.4“实验四: NoSQL和关系数据库的操作比较”实验步骤/289
A.5“实验五: MapReduce初级编程实践”实验步骤/306
A.6“实验六: 熟悉Hive的基本操作”实验步骤/315
A.7“实验七: Spark初级编程实践”实验步骤/319
A.8“实验八: Flink初级编程实践”实验步骤/325
附录BLinux系统中的MySQL安装及常用操作/343
B.1安装MySQL/343
B.2MySQL常用操作/346
参考文献/350
作 者 介 绍
林子雨(1978-),男,博士,全国高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的教学和科研资料。2013年开始在厦门大学开设大数据课程,主持的课程“大数据技术原理与应用”获评“2018年国家精品在线开放课程”。
主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。曾作为志愿者翻译了Google Spanner、BigTable和Architecture of a Database System等大量英文学术资料,与广大网友分享,深受欢迎。因在教学领域的突出贡献,成为2013年度、2017年度和2020年度厦门大学奖教金(教学类)获得者,并荣获“2018年厦门大学教学成果特等奖”和“2018年福建省教学成果二等奖”。
主讲课程: “大数据技术原理与应用”“大数据处理技术”“大数据导论”。
建设了高校大数据课程公共服务平台,为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频和技术资料等全方位、一站式免费服务,平台年访问量超过200万次,累计网络访问量突破1000万次;同时提供面向高校的大数据实验平台建设方案和大数据课程师资培训服务。《大数据基础编程、实验和案例教程》的第1版于2017年7月出版,在过去的几年时间里,大数据技术又获得了新的发展,开源流计算框架Flink迅速崛起,在市场上和Spark展开了激烈的角逐。与此同时,Hadoop和Spark的版本也在不断更新升级,一些编程接口发生了变化。因此,为了适应大数据技术的新发展,继续保持本书的先进性和实用性,我们及时对第1版内容进行了补充和修订。
下面对第1版内容的修改做简要说明。
第2章Linux系统的安装和使用,升级了VirtualBox软件的版本,并修改了在Linux系统中安装Eclipse的方法。
第3章Hadoop的安装和使用,修改了Hadoop简介及Java环境的安装方法,升级Hadoop到3.1.3版本;同时,删除了“使用Docker搭建Hadoop分布式集群”这部分内容,因为该内容在教学中很少被使用。
第4章HDFS操作方法和基础编程,升级Hadoop到3.1.3版本,并根据版本的特点对HDFS相关内容做了修改;同时重新撰写了HDFS编程实践的内容。
第5章HBase的安装和基础编程,升级HBase到2.2.2版本,版本升级后,HBase的安装配置方法和相关的编程接口也发生了变化,因此,对编程接口和实例代码进行了大量修改。
第6章典型NoSQL数据库的安装和使用,升级Redis到较新的5.0.5版本,并对由于版本升级而发生变化的内容做了修改。
第7章MapReduce基础编程,升级Hadoop到3.1.3版本,并对由于版本升级而发生变化的内容做了修改。
第8章数据仓库Hive的安装和使用,升级Hive到3.1.2版本,并对由于版本升级而发生变化的内容做了修改。
第9章Spark的安装和基础编程,升级Spark到2.4.0版本,并对由于版本升级而发生变化的内容做了修改。
第10章Flink的安装和基础编程,本章内容均为新增,以反映当前新兴的大数据处理技术,并介绍了Flink的安装和基础编程方法。第11章典型可视化工具的使用方法,删除了一些教学环节不太方便开展实践的内容,包括Easel.ly、Tableau和魔镜等,因为这些技术产品存在官网无法访问、需要用户注册才能使用等问题。
第12章数据采集工具的安装和使用,删除了Flume的内容,因为该内容比较孤立,未与其他章节的内容进行有效结合;同时删除了Sqoop的内容,因为Sqoop不支持版Hadoop和Hive等软件。
第13章大数据课程综合实验案例,升级了各个大数据软件的版本,并删除了和Sqoop相关的操作实践,因为Sqoop不支持新版的Hadoop和Hive;同时增加了使用Java程序把Hive中的数据导入MySQL。
第14章实验,升级实验中相关软件到较新的版本,并新增了3个实验,从而帮助读者更好实践Hive、Spark和Flink等大数据技术。
大数据基础编程、实验和案例教程(第2版)第2版前言本书第1版是《大数据技术原理与应用》(第2版)的“姊妹篇”,前者可以作为后者的课程配套实验手册。由于《大数据技术原理与应用》(第2版)已经在全国高校得到了广泛使用,很多高校采用该教材开设了大数据课程,因此,这也带动了本书第1版在高校的大量使用。在使用过程中,一些高校老师积极反馈了很多宝贵的意见和建议,为我们团队进行本书第2版的创作提供了很好的方向指引。同时,笔者也在厦门大学开设了大数据课程,并把本书第1版积极应用在实践教学中,让教材在教学实践中经受检验。现在,《大数据技术原理与应用》(第2版)已经改版到了第3版,作为配套“姊妹篇”,本书也及时从第1版升级到第2版,也就是说,在未来的教学过程中,本书第2版是与《大数据技术原理与应用》(第3版)配套使用的。当然,通过过去全国高校老师的反馈信息,我们也了解到,不少高校会直接把本书作为单独的课程教材(而不是配套的实验手册)来使用,因此,本书第2版也可以作为独立教材来使用。
本书由林子雨执笔。在撰写过程中,厦门大学计算机科学系硕士研究生程璐、林哲、郑宛玉、陈杰祥、陈绍纬、周伟敬等做了大量辅助性工作,在此,向这些同学的辛勤工作表示衷心的感谢。
本书官网免费提供全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在学习大数据课程的过程中,欢迎读者访问厦门大学数据库实验室建设的国内高校首个大数据课程公共服务平台,该平台为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等全方位、一站式免费服务。
大数据技术处于快速发展变革之中,厦门大学数据库实验室团队会持续跟踪大数据技术发展趋势,努力保持本书内容的新颖性,并把一些较新的教学内容及时发布到本书官网。由于笔者能力有限,书中难免存在不足之处,望广大读者不吝赐教。
林子雨2020年6月于厦门大学数据库实验室大数据带来了信息技术的巨大变革,并深刻影响着社会生产和人民生活的方方面面。大数据专业人才的培养是世界各国新一轮科技较量的基础,高等院校承担着大数据人才培养的重任,需要及时建立大数据课程体系,为社会培养和输送一大批具备大数据专业素养的高级人才,满足社会对大数据人才日益旺盛的需求。
高质量的教材是推进高校大数据课程体系建设的关键支撑。2013年12月,笔者根据自己主讲厦门大学计算机科学系研究生大数据课程的教学实践,编写了电子书《大数据技术基础》,通过网络免费发布,反响较好。此后两年多的时间里,笔者继续对大数据技术知识体系进行深入学习和系统梳理,并结合教学实践和大量调研,编著出版了《大数据技术原理与应用》,该书第1版于2015年8月出版发行,第2版于2017年2月出版发行。《大数据技术原理与应用》一书侧重于介绍大数据技术的实现原理,编程实践内容较少,该教材定位为入门级大数据教材,以“构建知识体系、阐明基本原理、开展初级实践、了解相关应用”为原则,旨在为读者搭建通向大数据知识空间的桥梁和纽带,为读者在大数据领域深耕细作奠定基础、指明方向。教材系统论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、大数据处理架构Spark、流计算、图计算、数据可视化,以及大数据在互联网、生物医学和物流等各个领域的应用。
《大数据技术原理与应用》一书出版以后,获得了读者较高认可,目前已经成为国内多所高校的大数据课程教材。与此同时,笔者在近两年通过各种形式助力全国高校加快推进大数据课程建设,包括建设全国高校大数据课程公共服务平台,开展全国高校大数据公开课巡讲计划,组织全国高校大数据教学论坛,举办全国高校大数据课程教师培训交流班等。通过这些活动,笔者与全国高校广大大数据课程教师有了更深的接触和交流,也收集到了广大一线教师的核心教学需求。很多高校教师在高度肯定《大数据技术原理与应用》教材的同时,也提出了很多中肯的改进意见和建议,其中,有很多教师指出,应该加强大数据实践环节的训练,提供实验指导和综合案例。
为了更好地满足高校教学实际需求,笔者带领厦门大学数据库实验室团队,开展了大量的探索和实践,并对实践材料进行系统整理,在此基础上编写了本书。本书侧重于介绍大数据软件的安装、使用和基础编程方法,并提供大量实验和案例。由于大数据软件都是开源软件,安装过程一般比较复杂,也很耗费时间。为了尽量减少读者搭建大数据实验环境时的障碍,笔者在本书中详细介绍了各种大数据软件的详细安装过程,可以确保读者顺利完成大数据实验环境搭建。
大数据基础编程、实验和案例教程(第2版)前言本书共13章,详细介绍系统和软件的安装、使用以及基础编程方法。第1章介绍大数据关键技术和代表性软件,帮助读者形成对大数据技术及其代表性软件的总体性认识。第2章介绍Linux系统的安装和使用方法,为后面其他章节的学习奠定基础。第3章介绍分布式计算框架Hadoop的安装和使用方法。第4章介绍分布式文件系统HDFS的操作方法和基础编程。第5章介绍分布式数据库HBase的安装和基础编程方法。第6章介绍典型NoSQL数据库的安装和使用方法,包括键值数据库Redis和文档数据库MongoDB。第7章介绍如何编写基本的MapReduce程序。第8章介绍基于Hadoop的数据仓库Hive的安装和使用方法。第9章介绍基于内存的分布式计算框架Spark的安装和基础编程方法。第10章介绍5种典型可视化工具的安装和使用方法,包括Easel.ly、D3、Tableau、魔镜、ECharts等。第11章介绍数据采集工具的安装和使用方法,包括Flume、Kafka和Sqoop。第12章介绍一个大数据课程综合实验案例,即网站用户购物行为分析。第13章通过5个实验让读者加深对知识的理解。
本书面向高校计算机和信息管理等相关专业的学生,可以作为专业必修课或选修课的辅助教材。本书是《大数据技术原理与应用》(第2版)的“姊妹篇”,可以作为《大数据技术原理与应用》(第2版)的辅助配套教程,两本书组合使用,可以取得更好的学习效果。此外,本书也可以和市场上现有的其他大数据教材配套使用,作为教学辅助用书。
本书由林子雨执笔。在撰写过程中,厦门大学计算机科学系硕士研究生谢荣东、罗道文、邓少军、阮榕城、薛倩、魏亮、曾冠华等做了大量辅助性工作,在此,向这些同学的辛勤工作表示衷心的感谢。
本书官网免费提供全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在学习大数据课程的过程中,欢迎读者访问厦门大学数据库实验室建设的国内高校首个大数据课程公共服务平台,该平台为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、上机习题、授课视频、技术资料等全方位、一站式免费服务。
本书在撰写过程中,参考了大量网络资料,对大数据技术及其典型软件进行了系统梳理,有选择地把一些重要知识纳入本书。由于笔者能力有限,本书难免存在不足之处,望广大读者不吝赐教。
林子雨
2017年2月于厦门大学数据库实验室
评论
还没有评论。