第2届全国高校大数据教学研讨会大会特邀报告
扫一扫访问本网页
【关键词】高校;大数据;课程;教学;公共服务体系;Spark;大数据技术原理与应用
尊敬的各位来宾,大家上午好!
很荣幸,作为大会东道主为大会献上最后一个特邀报告。今天的报告里,我将首先介绍一下我们厦门大学数据库实验室团队历时五年建设的“高校大数据课程公共服务平台”,其次,简要介绍厦门大学已经建设完成的大数据课程体系,然后,简要介绍Spark课程的先修课程《大数据技术原理与应用》的课程资源,最后,重点介绍《Spark编程基础》课程资源与教学经验。
一、高校大数据课程公共服务平台
高校大数据课程公共服务平台的亮点工作包括以下几个方面:
二、厦门大学建设的大数据课程体系
从2013年开始,经过为期五年的建设,厦门大学已经建成了涵盖入门课程、进阶课程和实习实训在内的大数据课程体系,可以为全国高校提供包括教材、讲义PPT、习题、案例、视频、师资培训等全方位的大数据课程服务。
案例1:基于SparkMLlib电影推荐实验案例案例2:Sqoop+Hive+HBase+MR+R某技术论坛日志分析项目案例案例3:Kafka+Spark+Redis+R实时分布式日志流处理案例案例4:HDFS+Spark+MySQL+JSP用户行为分析案例案例5:点击流日志分析实验案例
图厦门大学林子雨老师团队建设的大数据课程体系
三、先修课程《大数据技术原理与应用》
《大数据技术原理与应用》是《Spark编程基础》的先修课程。下面,我将从课程定位、教材选择、课时安排、实验内容、考核方法、课程资源等方面,介绍《大数据技术原理与应用》课程的建设方法和经验。
(一)课程定位
(二)教材选择
(三)课时安排
课程共16周,每周2学时,总计32学时(理论32学时,可以另外安排16个实验上机学时)。
(四)实验内容
1.上机实验指南
实验一:熟悉常用的Linux操作和Hadoop操作
实验二:熟悉常用的HDFS操作
实验三:熟悉常用的HBase操作
实验四:NoSQL和关系数据库的操作比较
实验五:MapReduce初级编程实践
2.综合实验案例
(五)考核方法
(六)课程资源
四、《Spark编程基础》课程资源与教学经验
1.编程语言的选择
选择教材时,必须首先确定编程语言。Spark支持多种编程语言:Scala、Java、Python、R。Spark首选语言是Scala,可以把Python作为课程拓展学习。
Spark这个软件本身就是使用Scala语言开发的,采用Scala语言编写Spark应用程序,可以获得最好的性能。关于采用哪种语言编写Spark应用程序,这里强调两点:
(1)Java代码太繁琐。在大数据应用场景中,不太适合使用Java,因为,完成同样的任务,Scala只需要一行代码,而Java则可能需要10行代码;而且,Scala语言可以支持交互式编程,大大提高了程序开发效率,而Java则不支持交互式执行,必须编译以后运行。
(2)Python语言并发性能不好。在并发性能方面,Scala要明显优于Python,而且,Scala是静态类型,可以在编译阶段就抛出错误,便于开发大型大数据项目,此外,Scala兼容Java,运行在JVM上,可以直接使用Java中的HadoopAPI来和Hadoop进行交互,但是,Python与Hadoop之间的交互非常糟糕,通常都需要第三方库(比如hadoopy)。
2.纸质教材
披荆斩棘,在大数据丛林中开辟学习捷径
填沟削坎,为快速学习Spark技术铺平道路
深入浅出,有效降低Spark技术学习门槛
资源全面,构建全方位一站式在线服务体系
本书以Scala作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、SparkSQL、SparkStreaming、SparkMLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。
3.免费在线教程
课程共16周,每周2学时,总计32学时理论课程。各高校可根据实际情况,再额外增加16学时实验上机。
(四)交叉知识
本课程涵盖知识内容包括:操作系统(Linux)、分布式存储(HDFS、HBase)、分布式计算(SparkCore)、流计算(SparkStreaming)、机器学习(SparkMLlib)、查询分析(SparkSQL)、日志采集(Flume)、消息分发(Kafka)、数据仓库(Hive)、关系数据库(MySQL)、机器学习/数据挖掘等知识。同时要掌握开发工具Eclipse、IntelliJIDEA以及编译打包工具sbt和Maven等。
图《Spark编程基础》教材中涉及的交叉知识
(五)实验内容
1.上机环境搭建
2.上机实验指南
实验1-Linux系统的安装和常用命令
实验2-Scala编程初级实践
实验3-Spark和Hadoop的安装
实验4-RDD编程初级实践
实验5-SparkSQL编程初级实践
实验6-SparkStreaming编程初级实践
实验7-Spark机器学习库MLlib编程实践
(七)授课视频
(八)师资培训
结束语
厦门大学数据库实验室在过去四年投入大量精力建设了丰富的大数据课程资源,总体而言,我们的课程建设模式如下:以大量教学实践推动课程和教材建设、以平台思维促进教学资源汇聚和共享、以迭代方法不断优化升级教学内容、自我造血为课程建设提供稳定资金保障。
最后,衷心感谢各位来宾对本次会议的大力支持,让我们共同努力,一起助力中国高校大数据教学事业不断迈上新的台阶。谢谢大家!