高校大数据实训课程系列案例教材主页

高校大数据实训课程系列案例教材主页

厦门大学 林子雨  编著

ziyulin@xmu.edu.cn

扫一扫访问本网页


 本页面内容导航

 系列教材概览  |  教材案例介绍  | 前言  | 案例在高校的应用情况

大数据实训课程样板工程


为了更好满足高校开设大数据实训课程的教材需求,厦门大学数据库实验室林子雨老师团队联合企业共同开发了《高校大数据实训课程系列案例》,部分教材书稿已经完成写作,将于2019年陆续出版发行,教材相关信息,敬请关注本网页后续更新!

本套案例教材适合用于高校大数据实训课程的教学,书中的具体案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据分析全流程操作。教材提供了丰富的免费在线教学资源,可以较好地满足高校在大数据实训课程环节对相关大数据教学资源的需求。

本套案例教材作为大数据实训课程教材,和大数据入门教材《大数据技术原理与应用(第2版)》(官网)以及大数据进阶教材《Spark编程基础(Scala版)》(官网)一起,初步形成了完整的大数据教材体系,可以作为高等院校计算机、软件工程、信息管理、数据科学与大数据技术等相关专业的大数据实训课程教材,也可供相关技术人员参考。

系列案例教材概览

教材名称 适用对象 当前状态 教材官网
电信用户行为分析 高校(本科和高职) 已经于2019年5月上市销售 访问
电影推荐系统 高校(本科和高职) 已经于2019年5月上市销售
已经用于2018年9月3日-28日厦门理工学院2015级软件工程专业本科生的实训课
访问
实时日志流处理分析 高校(本科和高职) 书稿已经完成,正在后期校对,预计2019年7月上市销售 暂无
微博用户情感分析 高校(本科和高职) 正在撰写 暂无
互联网广告预测分析 高校(本科和高职) 正在撰写 暂无
网站日志处理分析 高校(本科和高职) 等待撰写 暂无

教材案例介绍

1.案例1:电信用户行为分析

(已经于2019年5月上市销售,访问教材官网

图书ISBN:978-7-115-50123-3  人民邮电出版社

本案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA、Spring等系统和软件的安装与使用方法。本案例适合用于高校大数据实训课程的教学。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据分析全流程操作。

本案例旨在帮助学生形成以下几个方面的能力:

(1)熟悉Linux操作系统安装和使用;
(2)熟悉Hadoop的安装和使用方法;
(3)掌握HDFS基本原理和常用Shell命令使用方法;
(4)掌握关系数据库的原理、MySQL数据库的安装和使用方法;
(5)掌握IntelliJ IDEA编写Scala程序的方法;
(6)掌握编写Spark程序的方法;
(7)掌握使用Spring框架进行网页开发的方法;
(8)掌握通过网页进行数据可视化的方法。

本案例需要在Linux系统环境下完成以下任务:
(1)安装JDK;
(2)安装关系型数据库MySQL;
(3)安装大数据软件Hadoop;
(4)安装大数据软件Spark;
(5)安装开发工具IntelliJ IDEA;
(6)在MySQL数据库中创建数据库、表和视图;
(7)使用IDEA工具开发Spark程序进行数据分析;
(8)使用IDEA工具编写Web程序;
(9)使用SpringMVC框架开发网页应用实现可视化分析。

下图给出了本案例的数据分析整体过程,具体如下:
(1)把电信用户行为数据集加载到HDFS中;
(2)使用Scala语言编写Spark程序对HDFS中的数据进行用户行为分析,并把结果写入到MySQL数据库;
(3)使用Spring MVC框架开发网页应用,对MySQL数据库中的数据进行可视化分析;
(4)在网页中以图表形式对分析结果进行可视化呈现。

2.案例2:电影推荐系统

(已经于2019年5月上市销售,访问教材官网

图书ISBN:978-7-115-50306-0     人民邮电出版社

本案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA、Kettle、Node.js等系统和软件的安装与使用方法。案例采用Scala语言编写Spark程序。本案例适合用于高校大数据实训课程的教学。通过案例实践,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据分析全流程操作。

本案例旨在帮助学生形成以下几个方面的能力:
(1)掌握Linux操作系统的安装和使用方法;
(2)掌握Hadoop的安装和使用方法;
(3)掌握关系数据库的原理以及MySQL数据库的安装和使用方法;
(4)掌握使用IntelliJ IDEA开发Scala程序的方法;
(5)掌握ETL工具Kettle的安装和使用方法;
(6)掌握Spark程序(包括Spark SQL程序和Spark MLlib程序)开发方法;
(7)掌握推荐系统的原理和构建方法;
(8)掌握基于协同过滤的推荐算法的原理及其具体使用方法;
(9)掌握数据挖掘的步骤和方法;
(10)掌握基于Node.js的网页开发方法;
(11)掌握利用网页可视化呈现数据分析结果的方法。

本案例需要在Linux系统环境下完成以下任务:
(1)安装JDK;
(2)安装关系型数据库MySQL;
(3)安装大数据软件Hadoop;
(4)安装大数据软件Spark;
(5)安装开发工具IntelliJ IDEA;
(6)安装ETL工具Kettle;
(7)使用Kettle将数据文件从Linux本地文件导入到HDFS;
(8)使用协同过滤算法实现电影的推荐;
(9)编写Spark程序实现电影推荐功能;
(10)使用Node.js语言搭建动态网页呈现推荐结果。
下图给出了本案例的数据分析整体过程,具体如下:
(1)使用Kettle将数据文件从Linux本地文件导入到HDFS,并在导入过程中对数据进行清洗;
(2)使用Scala语言编写Spark程序,根据数据集训练模型,为用户推荐其最感兴趣的电影;
(3)利用Node.js搭建动态网页呈现电影推荐结果。

系列案例在高校的应用

本套案例已经成功应用在高校教学实践中,获得了较好的效果。

(1)应用情况1:厦门理工学院2015级软件工程专业大数据方向本科生实训课(访问实训课程主页

2018年9月3日-28日,厦门理工学院计算机与信息工程学院软件工程专业2015级本科生大数据实训课程顺利进行,林子雨老师担任本次课程的授课教师。本次实训课程,共有44名软件工程专业2015级本科生参加,课程设计题目是《基于Spark MLlib的电影推荐》,累计4周84学时。

(上图  厦门理工学院大数据实训课程课堂现场照片 )

(上图  林子雨老师在实训课程现场解答学生问题)

(2)应用情况2:第9期全国高校大数据课程教师培训交流班

2018年8月7日-13日,第9期全国高校大数据课程教师培训交流班在成都举办(培训班主页),林子雨老师担任授课教师,来自全国高校的37名大数据课程教师参加了培训交流,在为期6天的培训课程中,学员系统实践了《电信用户行为分析》、《基于协同过滤算法的电影推荐》和《实时日志流处理分析》三个案例。培训班结束后,部分学员老师已经三个案例应用到自己高校的大数据实训课程中。

(上图  第9期大数据师资培训班合影)

(上图  林子雨老师在培训教室解答学员老师的问题)

系列案例教材《前言》

大数据时代已经全面开启,高校承担着大数据人才培养的重任。北京大学、厦门大学、中国人民大学等一批高校在国内率先开设大数据课程;2016年,北京大学、中南大学、对外经贸大学等三所高校成为国内首批获得教育部批准设立“数据科学与大数据技术专业”的本科院校,此后,教育部又于2017年和2018年分别批准32所和248所本科院校设立数据科学与大数据技术专业。与此同时,根据教育部公布的“大数据技术与应用”专业备案和审批结果,截至2018年9月,已经有累计208所职业院校获批“大数据技术与应用”专业。随着大数据专业在国内众多高校的开设,大数据专业人才的培养迈入了全新的阶段。

大数据专业作为新生的“新工科”专业,在课程体系建设方面还处于摸索阶段,没有太多可供借鉴的现成经验,需要一大批热爱教学的高校教师积极投身课程体系和教材的建设工作中,共同推动全国高校大数据教学工作不断发展。笔者作为全国较早探索大数据教学的教师之一,编著了《大数据技术原理与应用》、《大数据基础编程、实验和案例教程》和《Spark编程基础》等系列教材,目前已经被国内众多高校采用,并成为京东、当当等各大网店畅销书籍,其中,《大数据技术原理与应用》是国内高校第一本系统性介绍大数据知识的专业教材,荣获“人民邮电出版社2017年度好书”和“中国工信出版传媒集团2018年优秀出版物奖三等奖”,与教材配套的《大数据技术原理与应用》MOOC课程,在中国大学MOOC平台的累计在线学习人数超过5万人,90%以上学习者给了五星级好评,在网易云课堂的在线学习人数超过6万人,99%网友给予了五星级好评。同时,笔者带领厦门大学数据库实验室团队建设了国内高校首个大数据课程公共服务平台,为全国高校大数据教学免费提供一站式服务,平台每年访问量超过200万次,成为全国高校大数据教学知名品牌。

高校大数据教学工作的有力推进,需要各高校从事大数据教学工作的教师之间开展广泛的交流,互相学习,共同提升。为此,笔者搭建了多个专业平台来促进大数据教师之间的沟通和交流。首先,建立了全国高校首个大数据课程教师培训交流基地,为广大教师提供交流和学习的理想场所。截至目前,已成功举办9期高校大数据教师研讨交流班和7次教学研讨会,共有200多所高校300余位老师参加了研讨和交流。其次,开展大数据公开课全国高校巡讲计划,精品课程,上门授课,在向学生普及大数据知识体系的同时,促进不同高校教师之间分享教学理念和教学方法,加强跨校交流合作,共同推进全国高校大数据专业教学不断发展。从2015年10月1日启动巡讲计划以来,截至目前,已经累计巡讲10个省、15个高校、1个科研院所、17场公开课,累计听众人数超过3000人,获得了广泛好评。再次,举办大型研讨会探讨大数据专业建设思路和方法。2017年5月12-13日和2018年5月12日-13日,笔者发起并举办了第1届、第2届全国高校大数据教学研讨会,累计有来自全国500多所院校的700余名教师来厦门大学参加了研讨会。

通过大量的活动,笔者与全国高校广大大数据课程教师有了更深的接触和交流,也收集到了广大一线教师的核心教学需求。很多高校教师希望全国高校大数据教学工作者能够齐心协力,加快完善大数据课程体系,并形成与课程配套的系列教材。笔者带领的厦门大学数据库实验室团队,在过去五年,集中精力建设了大数据入门课程及其配套教材《大数据技术原理与应用》、大数据进阶课程及其配套教材《Spark编程基础》。本套大数据实训课程系列教材的推出,标志着我们团队着力打造的从入门到进阶再到实训课程的大数据系列教材已经基本成型。多本教材之间,在知识体系上,合理分割,相互照应,前后承接,循序渐进,可以较好地服务于全国高校的大数据教学工作。

本套大数据实训课程系列教材,旨在满足高校开设大数据实训课程对教材的需求。每本教材包含一个大数据应用案例。每个案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA等系统和软件的安装和使用方法。通过案例实践,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据分析全流程操作。在教材内容的编写上,力争做到“规划路径、造桥铺路、循序渐进、决胜全局”。所谓“规划路径”是指,教材的开始会对案例目的、适用对象、时间安排、预备知识、硬件要求、软件工具、数据集、案例任务和实验步骤等做总体性介绍,帮助学生形成对案例任务的框架性认识;所谓“造桥铺路”是指,一个案例的顺利完成,需要涉及到各种大数据技术以及软件工具的使用,在开展案例程序编写之前,如果没有任何的准备工作,让学生直接进入案例程序的开发环节,会让很多学生遭遇很难跨越的“鸿沟”,导致实训课程无法顺利开展,为此,本套案例教材,在正式开始每个案例的程序编写之前,都有几个专门的章节,对案例所涉及到的相关工具和技术的使用方法,进行概要性介绍,并以简单的实例为依托,引导学生掌握基础的使用方法,为后面开展案例编程铺平道路、扫清障碍。所谓“循序渐进”是指,在教材内容编排上,做到先易后难、由浅入深,让学生在实践过程中,稳扎稳打,步步为营,在每个阶段都能够体验到收获感和成就感。所谓“决胜全局”是指,在教材的最后一个章节,详细阐述整个案例的实现全过程,作为学生自己开展课程设计的参考。

需要重点强调的是,在开展大数据实训课程时,一定要走出“大数据集误区”。部分高校在开展大数据实训课程时,盲目追求数据量的“大”,要求在实训环节一定要大规模数据集(比如要求1GB以上)。实际上,这种做法并不可取。在教学实训环节,数据集规模不宜太大,对于很多应用,有了一定量的数据以后,运行结果不会有明显差异,数据多一些,只会增加学生运行程序的时间,不会对运行结果有本质的影响,而且,数据量增加以后,需要更多的计算机存储和计算资源,由于很多高校都是采用“伪分布式方式”构建大数据实训环境,数据存储和计算量过大,经常会导致系统运行缓慢甚至崩溃,导致实训无法正常进行,老师和学生都会“备受煎熬”,使得宝贵的实训课程时间都浪费在计算机程序的运行上。实训环节是训练学生对数据分析全流程的各种知识、技术、工具的综合运用能力,训练学生编写程序解决问题的能力,不是为了测试计算机分析大量数据的性能高低。在很多情况下,案例程序编写完成以后,采用100MB的数据和1GB的数据,对于学生的学习效果而言,没有本质差别,而大数据集还会浪费大量时间。本套大数据实训课程系列教材中提供的配套数据集,已经能够较好地满足实训环节的要求,可以确保实训课程的顺利开展。

本套大数据实训课程系列教材的官网是https://dblab.xmu.edu.cn/post/shixunkecheng/,里面包含了多本实训课程教材的相关介绍和教材官网链接。

本教材的官网是https://dblab.xmu.edu.cn/post/useranalysis/,免费提供了全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在大数据实训课程中,读者会遇到各种大数据相关问题,建议读者访问厦门大学数据库实验室建设的国内高校首个大数据课程公共服务平台(https://dblab.xmu.edu.cn/post/bigdata-teaching-platform/)寻找解决方案,该平台上提供了大量免费的大数据教学资源,可以帮助读者顺利解决实训课程中遇到的诸多问题。

本教材由林子雨执笔。在教材撰写过程中,厦门大学计算机科学系硕士研究生魏亮、曾冠华、程璐、林哲、郑宛玉、陈杰祥等同学以及厦门大学计算机科学系2015级本科生张庆晓和罗景亮同学等做了大量辅助性工作,在此,向这些同学的辛勤工作表示衷心的感谢。同时,衷心感谢夏小云老师在教材校对工作中的辛勤付出!

本教材在撰写过程中,参考了大量网络资料,这里对网络资料作者的奉献性工作表示感谢。由于笔者能力有限,本书难免存在不足之处,望广大读者不吝赐教。

林子雨

厦门大学计算机科学系数据库实验室

2018年9月