《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx

上传人:王** 文档编号:1169386 上传时间:2024-04-12 格式:DOCX 页数:7 大小:93.60KB
下载 相关 举报
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第1页
第1页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第2页
第2页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第3页
第3页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第4页
第4页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第5页
第5页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第6页
第6页 / 共7页
《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
资源描述

《《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第12课编写SparkStreaming应用程序.docx(7页珍藏版)》请在优知文库上搜索。

1、课题编写SparkStreaming应用程序课时2课时(90min)教学目标知识技能目标:(1)了解流数据、流计算和SparkStreaming的基本概念(2)理解SparkStreaming的运行原理(3)掌握编写SparkStreaming应用程序的基本步骤素质目标:培养自我学习和持续学习能力,能够及时掌握新技术和工具,并将其应用到实际项目中教学重难点教学重点:流数据、流计算和SparkStreaming的基本概念,SparkStreaming的运行原理教学难点:编写SparkStreaming应用程序的基本步骤教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教

2、材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家了解什么是流数据、流计算和SparkStreaming.【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:你知道什么是流数据、流计算和SParkSlreaming吗?【学生】思考、举手回答传授新知【教师】通过学生的回答引入新知,介绍流数据、流计算和SparkStreaming的基本概念,SparkStreaming的运行原理,以及编写SparkStreaming应用程序的基本步骤等知识一、流数据和流计

3、算【教师】利用多媒体展示“流数据的特点”图片,并介绍流数据和流计算的概念和特点学习SparkStreaming之前,我们先来了解一下流数据和流计算。日常生活中,数据可以分为静态数据和流数据(动态数据)两大类。静态数据是指在应用程序运行时不会发生变化的数据,这些数据通常是预定义的,存储在文件或数据库中,并在程序执行期间被读取和使用。常见的静态数据包括配置文件、资源文件、产品目录、固定列表等。对于静态数据,一般采用批处理方式进行计算,对时间延迟的容忍度比较高。流数据是指动态生成、不断产生的数据集合,通常以连续的流形式进行输入和处理.流数据通常由各种设备或系统不断地采集、发送、存储和处理而来,包括传

4、感器数据、日志数据、社交媒体数据等。流数据的特点如图4-1所示。流数据 的特点数据量大反数据的速度很快,处Gl【二具需要具备高效的算法一高速性数据结构J(嬴据顺序颠倒,或者不GlX无序性整,导致系统无法控制数芈元素的顺第Jf据量大,但不十分关G存储,一旦数据流中的某个元素经过处理,要么被叵弃,要被归档存储J多样性流数据来源广泛,格式复 杂多样旧重数据的整体价值,IL由Q分关注个别数场八空巴图4-1流数据的特点流计算是指对流数据进行实时计算。实时计算要求响应时间为秒级或者毫秒级,即能够实时得到计算结果。在大数据时代,数据量大、数据来源广泛、数据格式复杂,这些都增加了实时计算的难度,进而催生了针对

5、流数据的实时计算流计算。目前,市场上存在的流计算框架有很多,其中主流的框架有SparkStreaming、Storm、KafkaStreams和Flink等。二、认识SparkStreaming【教师】介绍SparkStreaming的概念和优点SparkStreaming是Spark的一个组件,是用于处理流数据的分布式实时计算框架。SparkStreaming利用SPark核心引擎的强大计算能力,以微批处理(micro-batchprocessing)的方式对持续输入的流数据进行处理。SparkStreaming支持各种数据源,包括文件流、套接字流、RDD队列流、Kafl 易于使用。 高效可

6、靠。 可扩展性强。 多语言支持。(详见教材)三、SparkStreaming的运行原理【教师】利用多媒体展示“离散数据流的内部结构和“SparkStreaming的运行原理”图片,并介绍SparkStreaming的运行原理SparkStreaming提供了一种高级的抽象,叫做离散数据流(discretizedstream.DStream)0DSlream的内部其实是一系列连续的RDD,每个RDD都包含一段时间内的数据,如图4-2所示。DStreainRDD time 1RDD Iime 2RDD ti me 3RDD time 4(ZXdata from data fromdata from

7、 _.data from A1 time 0 to 1time 1 to 2time 2 to 3time 3 to 4L_Jv图4-2离散数据流的内部结构SparkStreaming的运行原理是将针对DStream的流处理操作转换为针对RDD的批处理操作,如图43所示。也就是说,SParkSlreaming将实时输入的流数据按照一定的时间间隔拆分为一段一段的数据,并将每段数据都转换为RDD,形成DStream;然后使用Spark的计算引擎对该DStream进行处理(即对DStream中的每个RDD进行处理),输出处理后的DStreame输入流数据DStream1 - DlinesDStrea

8、mwordsDStreamRDD time IRDD Iime 2RDD time 3RDD time 4RDD result 1RDD result 2RDD result 3RDD result 4图4-3SparkStreaming的运行原理【教师】利用多媒体展示“实时单词统计”图片,以实时单词统计为例,帮助学生理解SparkStreaming的运行原理以实时单词统计为例(见图4-4),SparkStreaming会把流数据分成一段一段的数据,每麒据形成每个RDD均存储了一些TRDD,即RDDtime1、RDDtime2、RDDtime3和RDDtime4(详见函)句子,这些RDD构成了

9、一个DStream(即IineS)图44实时单词统计四、编写SparkStreaming应用程序的基本步骤【教师】介绍编写SparkStreaming应用程序的基本步骤编写SparkStreaming应用程序可以处理和分析实瞰据流,其基本步骤如下。(1)创建SlreamingConiexi对象,设置批处理时间间隔。在SparkStreaming应用程序中,首先需要创建一个StreamingContext对象,该对象的参数说明如表4-1所示,表4-1StreamingContext对象的参数说明参数说明SparkContextSparkContext对象是Spark的主要入口点,Streamin

10、gContext需要使用现有的SparkContext对象来创建batchDuration可选参数,表示流数据划分为批次的时间间隔(以秒为单位)StreamingContext对象是整个应用程序的入口点,负责管理SparkStreaming的运行环境、连接数据源、创建DStream等。同时,该对象可以设置批处理时间间隔,决定每次从数据源中读取多长时间的数据。创建StreamingContext对象的参考示例如下。frompyspark.streamingimportStreamingContextfrompysparkimportSparkContextJ建SparkContext对象sc=S

11、parkContext(local,AppName)能!J建StreamingContext对象,设置批处理时间间隔为1秒ssc=StreamingContext(sc,1)(2)读映雌创建DStream定义输入源。在SParkStreaming应用程序中,需要读取不同数据源中的数据创建DStream,为后续实时处理定义输入源。(3)对DSIream进行处理。SparkStreaming支持多种转换操作,可以对DStream进行处理。(4)输出数据处理结果。在处理输入数据之后,可根据业务需求使用DStream的输出操作将处理结果输出到外部系统或存储介质中。(5)启动StreamingConte

12、xi对象,接收数据和执行处理流程。使用StreamingCOnteXt.start。方法启动StreamingContext对象,SparkStreaming将会不断地从输入的数据源中获取数据,并执行指定的转换和输出操作。(6)等待作业完成或手动停止。一旦启动了StreamingConiex(对象,应用程序就处于一个无限循环执行的状态。用户可以使用StreamingCOnteXt.awailTemination()方法等待数据处理结束,或使用StreamingeOnIeXl.slop。方法手动结束流计算进程。【学生】聆听、思考、理解、记录【教师】介绍“编写SparkStreaming应用程序”

13、的大概流程,安排学生扫描微课二维码观看视频“编写SparkStreaming应用程序“(详见教材),并要求学生进行相应操作1.利用Netcat工具向9999端口发送数据流NetCal是一款网络工具,它可以用于端口监听、端口扫描、远程文件传输,以及远程SheIl等。步骤I在虚拟机中打开两个终端,分别执行以下命令,运行并测试NeICal工具,如图4-5所示。分别在两个终端中输入字符后,如果两个终端可以分别收到对方发送的数据,则证明Netcat可以正常使用,通信正常。班端一的命令hadoopbogon$nc-Ik9999hello!#终端二的命令课堂实践|hadoopbogon|$nclocalho

14、st9999hdpbogonX文件(F)镇辑(E)查看(V)搜索(S)终端(T)帮助(H) hadoopbogo -$ nc -Ik 9999 hello!I love Spark!IloveSpark!hadoop)bogon:X文件(F)f三(E)皆着(V)搜索(三)终期(T)帮助(三)(hadoop9bogon-$nclocalhost9999hello!IloveSpark!I图4-5测试Neicat工具步骤2A分别在两个终端中按Ctrl+Z组合键,退出Netcato2.在PyCharm中编写SparkStreaming应用程序为了方便查看实时处理结果,用户可以打开终端,执行以下命令,打开Spark的配置文件Mlog4j.proper(iesw,将Spark日志记录的级别“INFO修改为ERROR”,清除大量的日志信息,如图4-6所示.hadoopbogon-$cdusrlocalsparkconfhadoopbOgonCOnf$sudocplog4j.properties.templatelog4j.propertieshadoopbogonconf|$sudovimlog4j.properties1.og4j.rootCategory三ERROR,console.lo4.aDoende

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机应用/办公自动化

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!