大数据 Spark编程基础 第6章-Spark Streaming
- 格式:ppt
- 大小:3.06 MB
- 文档页数:15
一、单选题1、以下哪个不是Spark的组件?()A.Spark StreamingB.MLlibC.GraphXD.Flink正确答案:D2、下面哪个不是 RDD 的特点 ? ()A.可分区B.可序列化C.可修改D.可持久化正确答案:C3、Task是Executor上的工作单元,运行于下面哪个组件上?()A.Driver ProgramB.Spark MasterC.Worker NodeD.Cluster Manager正确答案:C4、下面哪个操作肯定是宽依赖?()A.mapB.filterC.reduceByKeyD.union正确答案:C二、多选题1、以下是Spark的主要特点的有? ()A.运行速度快B.容易使用,简洁的API设计有助于用户轻松构建并行程序C.通用性,Spark提供了完整而强大的技术栈D.运行模式多样正确答案:A、B、C、D2、Spark的运行架构包括哪些?()A.集群资源管理器(Cluster Manager)B.执行进程(Executor)C.Worker NodeD.任务控制节点Driver Program正确答案:A、B、C、D3、关于RDD之间的依赖分为窄依赖和宽依赖,以下说法正确的是?()A.存在一个父RDD的一个分区对应一个子RDD的多个分区,则为宽依赖B.存在一个父RDD的多个分区对应一个子RDD的一个分区,则为宽依赖C.存在一个父RDD的一个分区只被一个子RDD的一个分区所使用,则为窄依赖D.存在一个父RDD的一个分区被一个子RDD的多个分区所使用,则为窄依赖正确答案:A、C4、Spark可以采用几种不同的部署方式,以下正确的部署方式有?()A.LocalB.StandaloneC.Spark on MesosD.Spark on YARN正确答案:A、B、C、D5、目前的大数据处理典型应用场景可分为哪几个类型? ()A.复杂的批量数据处理B.基于历史数据的交互式查询C.大数据的分布式计算D.基于实时数据流的数据处理正确答案:A、B、D6、以下选项中哪些是Spark的优点?()A.具有高效的容错性B.利用进程模型C.可以将中间结果持久化到内存D.表达能力有限正确答案:A、C。
学Spark需要什么基础?学Spark需要什么基础?作为大数据主流框架之一的Spark,也是大数据开发人员必须要掌握的重要技术框架,在企业招聘当中,掌握Spark框架的大数据人才,也更加具备竞争优势。
那么Spark需要什么基础?今天就来给大家讲讲Spark需要什么基础?首先,学习大数据,不管是Hadoop还是Spark,基本功都少不了Linux和Java。
搭建集群环境,Linux基础是必须的,系统操作命令是基础中的基础。
而Java,主要以JavaSE的知识为重点,包括面向对象、集合、io、多线程以及JDBC操作等,这部分是大数据开发当中常常需要用到的。
其次,是要建立起大数据技术背景,对于大数据处理各个环节,以及对应的解决方案,系统框架要有基本的认识:1、数据采集:Flume、Kafka、Logstash、Filebeat...2、数据存储:Mysql、Redis、Hbase、HDFS...3、数据查询:Hive、Elasticsearch...4、实时数据计算:Storm、Spark-streaming、Flink...5、离线数据计算:Hadoop、Spark...6、其他框架:Zookeeper...有了这样的背景基础之后,开始Spark学习也能够更快地理解很多东西,特点建议在Spark学习之间要先对Hadoop框架有比较全面的认识,包括核心的HDFS、MapReduce、Yarn等,这部分和Spark 联系紧密,对于像Spark为什么计算性能优异,架构设计为什么会这样设计等等这样的问题,也能更快理解和消化。
对于Spark框架的学习,Spark生态圈各组件需要着重掌握,包括Spark-core,Spark-streaming,Spark-mlib,Spark-graphx,刚开始学习的时候主要学习Spark-core和Spark-streaming,Spark-mlib和Spark-graphx可以等后期工作需要或者有时间了在研究即可。
Spark实践——基于SparkStreaming的实时⽇志分析系统本⽂基于《Spark 最佳实践》第6章 Spark 流式计算。
我们知道⽹站⽤户访问流量是不间断的,基于⽹站的访问⽇志,即 Web log 分析是典型的流式实时计算应⽤场景。
⽐如百度统计,它可以做流量分析、来源分析、⽹站分析、转化分析。
另外还有特定场景分析,⽐如安全分析,⽤来识别 CC 攻击、 SQL 注⼊分析、脱库等。
这⾥我们简单实现⼀个类似于百度分析的系统。
1.模拟⽣成 web log 记录在⽇志中,每⾏代表⼀条访问记录,典型格式如下:分别代表:访问 ip,时间戳,访问页⾯,响应状态,搜索引擎索引,访问 Agent。
简单模拟⼀下数据收集和发送的环节,⽤⼀个 Python 脚本随机⽣成 Nginx 访问⽇志,为了⽅便起见,不使⽤ HDFS,使⽤单机⽂件系统。
⾸先,新建⽂件夹⽤于存放⽇志⽂件然后,使⽤ Python 脚本随机⽣成 Nginx 访问⽇志,并为脚本设置执⾏权限, 代码见设置可执⾏权限的⽅法如下之后,编写 bash 脚本,⾃动⽣成⽇志记录,并赋予可执⾏权限,代码见赋予权限执⾏ genLog.sh 查看效果,输⼊ ctrl+c 终⽌。
2.流式分析创建 Scala 脚本,代码见3.执⾏同时开启两个终端,分别执⾏ genLog.sh ⽣成⽇志⽂件和执⾏ WebLogAnalyse.scala 脚本进⾏流式分析。
执⾏ genLog.sh执⾏ WebLogAnalyse.scala, 使⽤ spark-shell 执⾏ scala 脚本效果如下,左边是 WebLogAnalyse.scala,右边是 genLog.sh。
Spark编程基础教学大纲课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib 等。
课程概述Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。
课程由全国高校知名大数据教师厦门大学林子雨老师主讲,采用林子雨等编著的《Spark编程基础(Scala版)》作为课程教材。
Spark支持采用Scala、Java、Python和R语言进行编程,本课程采用Scala语言编写Spark应用程序。
课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark 环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib等。
通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
授课目标Spark是当前热门的大数据处理技术,本课程重点介绍Spark的技术原理与编程方法。
本课程采用Scala语言编写Spark应用程序。
课程内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib等。
通过本课程的学习,将帮助学生形成基础的Spark应用程序编程能力,为学生使用Spark技术解决实际科研问题和未来从事大数据相关工作奠定基础。
课程大纲第1章大数据技术概述1.1 大数据时代1.2 大数据概念1.3 大数据的影响1.4 大数据关键技术1.5 大数据计算模式1.6 代表性大数据技术第1章大数据技术概述单元测验第2章Scala语言基础2.1 Scala语言概述2.2 Scala基础知识2.3 面向对象编程基础2.4 函数式编程基础第2章Scala语言基础单元测验第3章Spark的设计与运行原理3.1 Spark概述3.2 Spark生态系统3.3 Spark运行架构3.4 Spark的部署和应用方式第3章Spark的设计与运行原理单元测验第4章Spark环境搭建和使用方法4.1 安装Spark4.2 在spark-shell中运行代码4.3 开发Spark独立应用程序4.4 Spark集群环境搭建4.5 在集群上运行Spark应用程序第4章Spark环境搭建和使用方法单元测验第5章RDD编程5.1 RDD编程基础5.2键值对RDD5.3 数据读写5.4 综合案例第5章RDD编程单元测验第6章Spark SQL6.1 Spark SQL简介6.2 DataFrame6.3 从RDD转换得到DataFrame 6.4 使用Spark SQL读写数据库第6章Spark SQL单元测验第7章Spark Streaming7.1 流计算概述7.2 Spark Streaming7.3 DStream操作概述7.4 基本输入源7.5 高级数据源7.6 转换操作7.7 输出操作7.8 Structured Streaming第7章Spark Streaming单元测验第8章Spark MLlib8.1 Spark MLlib简介8.2 机器学习流水线8.3 特征抽取、转化和选择8.4 分类与回归第8章Spark MLlib单元测验预备知识本课程属于“进阶级”大数据课程,在学习本课程之前,建议首先学习由林子雨老师主讲的“入门级”大数据课程《大数据技术原理与应用》(点击这里在中国大学MOOC平台学习林子雨老师主讲的国家精品在线开放课程《大数据技术原理与应用》)。
Spark编程基础Python版教学设计一、课程简介Spark是一种通用的分布式计算框架,可以用来处理大规模数据处理和分析工作。
Spark框架使用一种基于内存的计算方式,可以比Hadoop MapReduce更快地完成任务。
本课程主要介绍Spark框架下的编程基础,包括Spark的安装、配置、Spark编程模型、RDD(弹性分布式数据集)等内容。
本课程使用Python语言作为编程语言,适合有一定Python基础的学生学习。
二、课程目标1.了解Spark框架和编程模型;2.熟悉Python语言在Spark框架下的编程;3.能够使用Spark进行数据处理和分析;4.掌握RDD的概念和使用方法。
三、教学内容3.1 Spark概述1.Spark的特点和应用场景;2.Spark与Hadoop MapReduce的比较;3.Spark的安装和配置。
3.2 Spark编程模型1.Spark编程模型的基本概念;2.Spark编程环境的设置;3.Spark编程任务的提交和执行。
3.3 PySpark介绍1.PySpark的基本概念;2.PySpark的环境搭建;3.PySpark的入门案例分析。
3.4 RDD介绍1.RDD的基本概念;2.RDD的创建和操作;3.RDD的注意事项。
3.5 Spark数据处理1.数据导入和导出;2.数据分析和处理;3.内存数据缓存。
3.6 Spark编程实例1.编写Spark程序;2.Spark WordCount案例;3.Spark TopN案例。
四、教学流程4.1 第一周:Spark概述和编程模型第一天•课程介绍和教学目标;•Spark介绍和应用场景;•Spark与Hadoop的比较;•Spark的安装和配置。
第二天•Spark编程模型的基本概念;•Spark编程环境的设置;•Spark编程任务的提交和执行。
4.2 第二周:RDD和PySpark介绍第一天•RDD的基本概念;•RDD的创建和操作;•RDD的注意事项。