大数据分析与应用微课版-课件 项目5 电商产品数据实时分析_第1页
大数据分析与应用微课版-课件 项目5 电商产品数据实时分析_第2页
大数据分析与应用微课版-课件 项目5 电商产品数据实时分析_第3页
大数据分析与应用微课版-课件 项目5 电商产品数据实时分析_第4页
大数据分析与应用微课版-课件 项目5 电商产品数据实时分析_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目五

电商产品数据实时分析2023年2月创建数据流目录Content1使用SparkStreaming对电商产品数据实时分析2离线数据分析处理速度慢项目导言零实时数据分析学习目标零知识目标了解流式计算的特征及优点;熟悉SparkStreaming架构;掌握DStream的创建操作;掌握DStream转化操作。技能目标具备使用不同数据源创建DStream的能力;具备使用对数据进行转换操作的能力;具备实现数据实时分析的能力。素养目标具有考虑问题时的换位思考能力;具有解决问题时的逆向思维能力;具有较强的总结能力。任务5-1:使用Hive创建电商产品数据库壹流式计算简介任务技能流计算在大数据的场景中非常常见,流计算由两个部分组成分别是流数据和流计算DStream简介DStream表示一个连续不间断的数据流,DStream是随时间推移而收到的数据序列SparkStreaming简介SparkStreaming是Spark中的分布式流处理框架,能够通过指定的时间间隔对数据进行处理,其最小时间间隔可达到500ms,SparkStreaming具有高吞吐量和容错能力强DStream创建DStream的创建是在整个SparkStreaming程序中的,因此我们在创建DStream之前需要创建SparkStreaming对象,通过SparkStreaming对象创建DStream任务5-1:使用Hive创建电商产品数据库壹1流式计算简介流数据是指在时间分布和数量上无限的一系列动态数据的集合,这种数据的价值会随着时间的推移而降低,所以就需要对其进行实时的数据分析并且做出毫秒级别的快速响应,否则就会失去数据原本存在意义数据流动速度快且持续,潜在大小也许是无穷无尽的;数据源较多,且数据格式复杂;数据量大,一旦经过处理,要么被丢弃,要么被归档存储于数据仓库;注重数据的整体价值,不过分关注个别数据;数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序。(1)流数据具有的特征任务5-1:使用Hive创建电商产品数据库壹IBMInfoSphereStreams是IBM公司开发的业内先进流式计算软件,支持开发和执行对数据流中的信息进行处理的应用程序。InfoSphereStreams

支持连续且快速地分析流数据(2)商业级流式计算框架任务5-1:使用Hive创建电商产品数据库壹Storm是一款有Twitter开源的分布式实时大数据处理框架,用于实时分析数据,持续计算(3)开源流计算框架SparkStreaming是Spark体系中的一个流式处理框架,可以实现高吞吐量的、具备容错机制的实时流数据的处理任务5-1:使用Hive创建电商产品数据库壹FacebookPuma:FaceBook公司的实时数据处理分析框架,使用puma和HBase相结合来处理实时数据(4)公司为支持自身业务开发的流计算框架任务5-1:使用Hive创建电商产品数据库壹2SparkStreaming简介SparkStreaming是Spark中的分布式流处理框架,能够通过指定的时间间隔对数据进行处理,其最小时间间隔可达到500ms,SparkStreaming具有高吞吐量和容错能力强,支持多种数据源如Kafka、Flume、Twitter、ZeroMQ等(1)SparkStreaming处理的数据流图任务5-1:使用Hive创建电商产品数据库壹(2)SparkStreaming数据处理流程SparkStreaming是在对接外部数据流后按照时间间隔将数据划分为batch(小批次数据流)供后续Sparkengine处理,所以实际上,SparkStreaming是按一个个batch(小批次)来处理数据流的任务5-1:使用Hive创建电商产品数据库壹(3)SparkStreaming应用场景在SparkStreaming中,有无状态操作、有状态操作和窗口操作三种应用场景1、状态操作针对于当前时间间隔内新生成的小批次数据,所有计算都只是基于这个批次的数据进行处理2、有状态操作有状态操作是指除需要当前生成的小批次数据外,还需要使用所有的历史数据,即相当于统计总销售量或销售额等指标3、窗口操作SparkStreaming支持窗口计算以及在一个滑动窗口上进行数据的转换操作任务5-1:使用Hive创建电商产品数据库壹3DStream简介DStream是随时间推移而收到的数据序列。在内部,每个时间区间收到的数据都作为RDD存在,而DStream就是由这些RDD所组成的序列。SDstream数据可通过外部输入源获取(1)DStream内部实现任务5-1:使用Hive创建电商产品数据库壹(2)DStream数据操作流程对DStream中数据的相关操作实际上就是对DStream内部的RDD进行的,通过设置时间,这个操作每隔一段时间就会对RDD进行操作并生成作为新的DStream中该时间段的RDD,在经过一系列操作后,可以将计算结果存储到外部文件系统中,包括本地文件、HDFS、数据库等任务5-1:使用Hive创建电商产品数据库壹DStream的创建是在整个SparkStreaming程序中的,因此在创建DStream之前需要创建SparkStreaming对象,通过SparkStreaming对象创建DStream4DStream创建frompysparkimportSparkConfsc=SparkContext(master,appName)(1)SparkContext创建参数描述masterSpark、Mesos或YARN集群URL,或者是在本地模式下运行的特殊“local[*]”字符串appName应用程序在集群UI上显示的名称任务5-1:使用Hive创建电商产品数据库壹(2)创建SparkStreaming对象frompyspark.streamingimportStreamingContextssc=StreamingContext(sc,Seconds)参数描述scSparkConf实例Seconds处理数据的时间间隔,单位为秒。StreamingContext对象创建完成后即可使用该对象中提供的不同数据源获取方法创建DStream任务5-1:使用Hive创建电商产品数据库壹使用Python编写Spark程序Step1导入SparkContext与StreamingContext两个包Step2创建StreamingContext对象,设置每间隔5秒读取一次数据Step3启动SparkStreamin程序,开始对目录进行监控并打印数据Step4创建DStream使用SparkStreaming监控电商产品数据的处理与分析项目中的评价数据任务5-2:使用Hve对商产品数据统计贰DStream转换操作任务技能DStream的转换操作主要用于对所包含的数据进行处理和统计,包括过滤、合并、计算元素数量、集合、出现频次DStream输出操作在SparkStreaming中,DStream的输出操作用于触发DStream的转换操作和窗口操作,是SparkStreaming程序必不可少的DStream窗口操作SparkStreaming还提供了窗口计算,能够在数据的滑动窗口上应用转换操作SparkStreaming启动与停止SparkStreaming程序在编写完成后,并不会被执行,启动程序后,计算结束完毕程序也不会停止,需要人为设定任务5-2:使用Hve对商产品数据统计贰1算术运算DStream的转换操作主要用于对所包含的数据进行处理和统计,包括过滤、合并、计算元素数量、集合、出现频次方法描述map(func)对DStream中包含的每一个元素应用这个指定的函数,并以DStream格式返回结果flatMap(func)与map方法类似,只不过各个输入项可以被输出为零个或多个输出项filter(func)对DStream的每一个数据应用条件函数进行判断,当符合条件则加入新的DStream中,不符合的则删除reduceByKey(func)与reduce()方法功能相同,但reduceByKey()方法针对(k,v)形式元素进行统计reduce(func)通过指定函数对DStream中的每一个元素进行聚合操作,然后返回只有一个元素的RDD构成的新的DStreamtransform(func)通过指定函数对DStream中的每一个元素执行指定操作,可以是任意的RDD操作,从而返回一个新的RDDcountByValue()计算DStream中每个RDD内的元素出现的频次并返回新的DStream[(K,Long)],其中K是RDD中元素的类型,Long是元素出现的频次count()对DStream中包含的元素数量进行计数,返回一个内部只包含一个元素的RDD的DStreaamunion(otherStream)连接两个DStream中的数据生成一个新的DStream任务5-2:使用Hve对商产品数据统计贰2DStream窗口操作SparkStreaming还提供了窗口计算,能够在数据的滑动窗口上应用转换操作方法描述window()该方法接收两个参数,第一个参数为窗口长度,单位为秒;第二个参数为滑动时间间隔,单位为秒,并且不管是窗口长度还是滑动时间间隔都必须为创建StreamingContext对象设置时间的倍数countByWindow()统计滑动窗口的DStream中元素的数量,并以DStream格式返回,接受参数及代表意义与window()方法相同reduceByWindow()对滑动窗口中DStream的元素进行聚合操作,以DStream格式返回操作结果,该方法需要传入三个参数,第一个参数即为进行聚合操作的函数,第二、三个参数与以上两种方法的参数相同countByValueAndWindow()统计当前滑动窗口中DStream元素出现的频率,并以DStream[(K,Long)]格式返回,其中K是元素的类型,Long是元素出现的频次,接收参数与reduceByWindow()相同reduceByKeyAndWindow()对滑动窗口中DStream的(k,v)类型元素进行聚合操作,该方法包含四个参数,第一个参数为指定的聚合函数;第二个参数同样是一个函数,但其用来处理流出的RDD,可不使用;第三个参数为窗口长度,单位为秒;第四个参数为滑动时间间隔,单位为秒任务5-2:使用Hve对商产品数据统计贰3DStream输出操作在SparkStreaming中,DStream的输出操作用于触发DStream的转换操作和窗口操作,是SparkStreaming程序必不可少的,可以将DStream中的数据保存到外部系统中,包括MySQL数据库、本地文件、HDFS等方法描述pprint()DStream中每批数据的前十个元素。saveAsTextFiles(prefix,[suffix])将DStream中的数据以文本的形式保存在本地文件或HDFS中,其接受两个参数,第一个参数为文件的路径及名称前缀,第二个参数为文件的格式,并且每隔规定时间都会生成一个文件名称包含时间戳的本地文件foreachRDD(func)DStream数据推送到外部系统,通常用于实现将DStream数据保存到数据库中任务5-2:使用Hve对商产品数据统计贰4SparkStreaming启动SparkStreaming程序在编写完成后,并不会被执行,DStream的相关操作只创建执行流程,设定了执行计划,需要SparkStreaming的运行操作才会启动SparkStreaming程序执行预期操作。启动程序后,计算结束完毕程序也不会停止,只能通过相关方法手动停止程序(1)SparkStreaming的启动与停止方法方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论