《Spark编程基础(Scala版)》教材官网

2025-09-23 10:09:29 4阅读

教程简介

本书《Spark编程基础(Scala版)》属于“进阶级”大数据课程,在学习本教程之前,建议首先学习入门级大数据课程《大数据技术原理与应用》(教材官网)。《Spark编程基础(Scala版)》和《大数据技术原理与应用》两本教材之间在内容上实现了“无缝隙衔接”,可以帮助读者完成顺利完成入门学习和进阶学习。

本书以Scala作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Spark MLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。

本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。

Spark编程基础Scala版_spark哪本书比较好_大数据技术原理与应用衔接教程

《Spark编程基础(Scala版)》封面

作者简介

《Spark编程基础(Scala版)》由林子雨、赖永炫和陶继平执笔,其中,林子雨负责教材规划、统稿、校对和在线资源创作,并撰写第1、3、4、5、6、7章的内容,赖永炫负责撰写第8章的内容,陶继平负责撰写第2章的内容。

林子雨(1978-),男,博士,厦门大学计算机科学系副教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的教学和科研资料,累计网络访问量超过1000万次。主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度、2017年度和2020年度厦门大学教学类奖教金获得者。点击这里访问林子雨个人主页。

赖永炫(1981-),男,博士,厦门大学信息学院教授,厦门大学移动与数据分析(MOCOM)实验室负责人(主页),福建省人工智能学会理事。2004年毕业于中国人民大学信息管理系,2009年毕业于中国人民大学计算机系,获工学博士学位。研究方向是网络数据管理,车载网络,大数据分析和管理等。近年来主持过国家科技支撑计划课题1项,国家自然科学基金2项,参与国家及省部级课题10余项。发表高水平科研论文20余篇,并担任多个国际期刊和会议的审稿人。获得过厦门大学厦航奖教金,厦门大学第八届青年教师教学技能比赛一等奖,厦门大学高等教育教学成果二等奖。

陶继平,男,1980年出生,博士。2010年毕业于上海交通大学控制科学与工程专业,获得工学博士学位。现任厦门大学自动化系副教授,厦门市物流协会信息化专业委员会委员,曾为厦门大学云计算与大数据研究中心主要建设者和骨干成员。主要研究兴趣包括运筹与优化算法理论及其在生产调度、多机器人规划、云计算、大数据分析等方面的应用。作为项目负责人主持1项国家自然科学青年基金项目(No. 11201391),已发表学术论文20多篇。作为主要参与人参与了国家自然科学基金、福建省自然科学基金等国家及省部级课题6项。

在线教程

为了确保教程质量,在编著出版纸质教材之前,厦门大学数据库实验室已经于2016年10月通过实验室官网免费发布共享了简化版的《Spark在线教程》(访问)和相关教学资源,同时,该在线教程也已经用于厦门大学计算机科学系研究生的大数据课程教学,并成为全国高校大数据课程教师培训交流班的授课内容。实验室根据读者对在线Spark教程的大量反馈意见以及教学实践中发现的问题,对Spark在线教程进行了多次修正和完善,所有这些前期准备工作,都为纸质教材的编著出版打下了坚实的基础。

子雨大数据之Spark入门

(点击这里访问在线版本的Spark入门教程)

问:在线版本的《Spark入门教程》和出版发行的纸质教材《Spark编程基础(Scala版)》二者的区别是什么?

答:在线版本的《Spark入门教程》属于简化版的Spark教材,旨在帮助读者快速学习Spark技术,里面内容的写作方式会更加口语化,偏向于博客的风格。出版发行的纸质教材《Spark编程基础(Scala版)》,则是完全从高校专业课教材的角度进行创作,在知识架构和内容编排上,严格按照教材的高标准和高要求来进行,强调前后文高度的逻辑相关性,全书内容的整体协调性,以及文字表述的精准清晰性。因此,纸质教材比在线版本的质量,有了本质的大幅度提升。可以说,在线版本只是在写作纸质教材之前的准备工作,为纸质教材提供了蓝本。本书作者林子雨、赖永炫和陶继平三位老师,在完成在线版本创作以后,又进行了系统深入的调研和学习并反复实践,最终,撰写了纸质教材用于高校教学。

需要注意的是,在线版本中也包含了一些纸质教材中没有的内容,因为这些操作实践的内容比较琐碎,因此,没有放入纸质教材,所以,读者阅读在线版本仍然会有新的收获。总体而言,在线版本和纸质教材二者配合使用,效果更好。

课程视频

厦门大学林子雨老师主讲《Spark编程基础(Scala版)》课程视频(观看),根据2017年春季学期林子雨老师给厦门大学计算机系2017级硕士研究生主讲《大数据处理技术Spark》课程的现场音频,进行后期制作合成视频。

Spark编程基础Scala版_spark哪本书比较好_大数据技术原理与应用衔接教程

实验指南

章节

实验操作名称

访问网页

第1章 大数据技术概述

在Windows中使用VirtualBox安装Ubuntu

查看

第1章 大数据技术概述

Linux系统的常用命令

查看

第1章 大数据技术概述

在Windows系统中利用FTP软件向Ubuntu系统上传文件

查看

第2章 Scala语言基础

Linux系统的安装

查看

第2章 Scala语言基础

Linux系统中Java的安装

查看

第2章 Scala语言基础

Linux系统中下载安装文件和解压缩方法

查看

第2章 Scala语言基础

Linux系统中vim编辑器的安装和使用方法

查看

第4章 Spark环境搭建和使用方法

Hadoop的安装和使用

查看

第4章 Spark环境搭建和使用方法

使用IntelliJ IDEA编写Spark应用程序(Scala+Maven)

查看

第4章 Spark环境搭建和使用方法

使用Intellij Idea编写Spark应用程序(Scala+SBT)

查看

第4章 Spark环境搭建和使用方法

使用Eclipse编写Spark应用程序(Scala+Maven)

查看

第4章 Spark环境搭建和使用方法

使用Eclipse编写Spark应用程序(Scala+SBT)

查看

第4章 Spark环境搭建和使用方法

Hadoop集群安装配置方法

查看

第4章 Spark环境搭建和使用方法

HDFS操作常用Shell命令

查看

第5章 RDD编程

HBase的安装

查看

第6章 Spark SQL

在Ubuntu中安装MySQL

查看

第6章 Spark SQL

Hive的安装

查看

第7章 Spark Streaming

Kafka的安装和使用方法

查看

第7章 Spark Streaming

使用Flume作为Spark的数据源

查看

第7章 Spark Streaming

使用Kafka作为Spark的数据源

查看

第7章 Spark Streaming

日志采集工具Flume的安装与使用方法

查看

下载专区

版权声明:本站对站内所有资源拥有版权,严禁用于商业用途,侵权必究

“下载专区”所有资源全部放在百度云盘中,需要在电脑上安装百度云盘客户端,才能顺利下载内容,请点击这里访问百度云盘。(提取码是sabi)

“下载专区”栏目提供了本教程内各个章节所涉及到的源代码、软件和数据集的下载,为了方便读者查找相关软件和代码,下表给出了教程官网“下载专区”目录及其内容的概览。

表1  《Spark编程基础(Scala版)》下载专区资源一览表

目录

文件清单

软件

apache-hive-1.2.1-bin.tar.gzapache-maven-3.3.9-bin.zip

FileZilla_3.17.0.0_win64_setup.exe

hadoop-2.7.1.tar.gz

hbase-1.1.5-bin.tar.gz

kafka_2.11-0.10.2.0.tgz

mysql-connector-java-5.1.40.tar.gz

sbt-launch.jar

scala-2.11.8.tgz

spark-2.1.0-bin-without-hadoop.tgz

spark-2.1.0.tgz

spark-streaming-kafka-0-8_2.11-2.1.0.jar

spark-2.1.0-bin-h27hive.tgz

ubuntukylin-16.04-desktop-amd64.iso

VirtualBox_5.0.10.4061_104061_Win.1448355141.exe

代码

第2章

Bird.scala, Bird1.scala, Bird2.scala, Bird3.scala, Box.scala, Counter.scala, Counter1.scala, Counter2.scala, Element.scala, Element1.scala, HelloWorld.scala, MyCar.scala, MyTestApply.scala, Person.scala, Person1.scala, Test.scala, TestApplyClass.scala, TestBreak.scala, TestCase.scala, TestMatch.scala, TestMatch1.scala, TestMatch2.scala, TestMatch3.scala,TestUnapply.scala,Top.scala

第4章

pom.xml, simple.sbt, SimpleApp.scala

第5章

Combine.scala, FileSort.scala, JSONRead.scala, SecondarySortApp.scala, SecondarySortKey.scala, SparkOperateHBase.scala, SparkWriteHBase.scala, TestPartitioner.scala, TopN.scala

第6章

InsertStudent.scala

第7章

DataSourceSocket.scala, KafkaWordCount.scala, KafkaWordProducer.scala, NetworkWordCount.scala, NetworkWordCountStateful.scala, simple.sbt, StreamingExamples.scala, TestRDDQueueStream.scala, TestStreaming.scala

数据集

第5章

chapter5-data1.txt

第8章

adult.rar, iris.data

实验答案

附录A

附录A:《林子雨编著:Spark编程基础(Scala版)》教材配套实验答案.pdf

每个章节配套实验题目和答案

纸质教材《Spark编程基础(Scala版)》的每个章节(除了第3章 Spark的设计与运行原理)末尾都配套了学生上机实验题目,每套实验题目可以满足1次上机实验室(比如连续4节课机房统一上机实验课)的要求,旨在帮助学生更好消化理解课堂内容。

请点击这里访问百度云盘(提取码是sabi),访问“实验答案”目录,可以找到教材7个配套实验的题目和答案PDF文件。下面是7个实验一览表。

章节

实验

第1章 大数据技术概述

实验1-Linux系统的安装和常用命令

第2章 Scala语言基础

实验2-Scala编程初级实践

第3章 Spark的设计与运行原理

无实验

第4章 Spark环境搭建和使用方法

实验3-Spark和Hadoop的安装

第5章 RDD编程

实验4-RDD编程初级实践

第6章 Spark SQL

实验5-Spark SQL编程初级实践

第7章 Spark Streaming

实验6-Spark Streaming编程初级实践

第8章 Spark MLlib

实验7-Spark机器学习库MLlib编程实践

除了教材中配套的(出现在纸质教材中)的上述7套题目以外,老师在上课过程中,还可以根据情况增加以下题目作为学生上机练习:

章节

上机练习

第5章 RDD编程

统计人口平均年龄

第5章 RDD编程

统计人口性别和身高

第5章 RDD编程

统计微博信息

综合案例

(1)案例1:淘宝双11数据分析与预测(访问案例主页)

本案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。

(2)案例2:Spark+Kafka构建实时分析Dashboard(访问案例主页)

本案例涉及数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程所涉及的各种典型操作,涵盖Linux、Spark、Kafka、Flask、Flask-SocketIO、Highcharts.js、sockert.io.js、PyCharm等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。

(3)案例3:Spark大数据分析案例之平均心率检测(访问案例主页)

本案例以案例2为基础,涉及模拟数据生成,数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程,所涉及的各种典型操作涵盖Linux、Spark、Kafka、JAVA、MySQL、Ajax、Html、Css、Js、Maven等系统和软件的安装和使用方法。通过本案例,将有助于综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。