首页 > 其他分享 >学习记录20

学习记录20

时间:2024-02-04 20:14:11浏览次数:18  
标签:20 记录 处理 实时 学习 Streaming Spark 数据 spark

  本次学习学习了spark的流计算相干概念

静态数据和流计算

静态数据:

很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据,技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息

流数据:

近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达

流数据具有如下特征:数据快速持续到达,潜在大小也许是无穷无尽的数据来源众多,格式复杂数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储注重数据的整体价值,不过分关注个别数据数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序

对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量计算和实时计算

流计算概念

流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息

数据的价值随着时间的流逝而降低

Hadoop和Spark都是面向批处理,但是Spark由于他的机制可以进行实时计算

流计算处理流程

流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务

流处理系统与传统的数据处理系统有如下不同:

流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先存储好的静态数据

用户通过流处理系统获取的是实时结果,而通过传统的数据处理系统,获取的是过去某一时刻的结果

流处理系统无需用户主动发出查询,实时查询服务可以主动将实时结果推送给用户

Spark Streaming

概述:

Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里

基本原理

Spark Streaming的基本原理是将实时输入数据流以时间片(秒级)为单位进行拆分,然后经Spark引擎以类似批处理的方式处理每个时间片数据

 

 

Spark Streaming最主要的抽象是DStream(Discretized Stream,离散化数据流),表示连续不断的数据流。在内部实现上,Spark Streaming的输入数据按照时间片(如1秒)分成一段一段,每一段数据转换为Spark中的RDD,这些分段就是Dstream,并且对DStream的操作都最终转变为对相应的RDD的操作

Spark Streaming采用的小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法,因此,方便了一些需要历史数据和实时数据联合分析的特定应用场合

Spark Streaming工作机制

 

在Spark Streaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上

每个Receiver都会负责一个input DStream(比如从文件中读取数据的文件流,比如套接字流,或者从Kafka中读取的一个输入流等等)

Spark Streaming通过input DStream与外部数据源进行连接,读取相关数据

编写Spark Streaming程序的基本步骤是:

1.通过创建输入DStream来定义输入源

2.通过对DStream应用转换操作和输出操作来定义流计算

3.用streamingContext.start()来开始接收数据和处理流程

4.通过streamingContext.awaitTermination()方法来等待处理结束(手动结束或因为错误而结束)

5.可以通过streamingContext.stop()来手动结束流计算进程

创建StreamingContext对象

spark-shell创建

如果要运行一个Spark Streaming程序,就需要首先生成一个StreamingContext对象,它是Spark Streaming程序的主入口

可以从一个SparkConf对象创建一个StreamingContext对象登录Linux系统后,启动spark-shell。

进入spark-shell以后,就已经获得了一个默认的SparkConext,也就是sc。因此,可以采用如下方式来创建StreamingContext对象:

scala> import org.apache.spark.streaming._
scala> val ssc = new StreamingContext(sc, Seconds(1))

代码进行创建

如果是编写一个独立的Spark Streaming程序,而不是在spark-shell中运行,则需要通过如下方式创建StreamingContext对象:

import org.apache.spark._
import org.apache.spark.streaming._
val conf = new SparkConf().setAppName("TestDStream").setMaster("local[2]")
val ssc = new StreamingContext(conf, Seconds(1))

 

标签:20,记录,处理,实时,学习,Streaming,Spark,数据,spark
From: https://www.cnblogs.com/JIANGzihao0222/p/18006905

相关文章

  • 猜数游戏[USACO2008] Haybale Guessing G
    $Haybale\Guessing\G$(猜数游戏)解题报告\(Diffculty:\)\(\color{purple}省选/NOI-\)传送门1:(HZOIER)传送门2:(vjudge)传送门3:(luogu)题面为了提高自己低得可怜的智商,奶牛们设计了一个新的猜数游戏,来锻炼她们的逻辑推理能力。游戏开始前,一头指定的奶牛会在牛棚后......
  • 学习记录21
    本次学习学习了Spark的Streaming的一些外来输入源进行操作的形式文件流创建一个文件[atguigu@hadoop102~]$cd/usr/local/spark/mycode/[atguigu@hadoop102mycode]$mkdirstreaming[atguigu@hadoop102mycode]$cdstreaming[atguigu@hadoop102streaming]$mkdir......
  • 学习记录22
    本次学习了sparkStreaming里进行读取高级数据源的一些操作进行安装kafka网站:https://dblab.xmu.edu.cn/blog/1096/接下来在Ubuntu系统环境下测试简单的实例,按顺序执行如下命令:#进入kafka所在的目录cd/usr/local/kafkabin/zookeeper-server-start.shconfig/zookee......
  • [office] 如何在excel2019工作表中插入3D模型的操作方法
    excel2019表格中增加了一个3D模型功能,我们可以将3D模型插入到excel表格中,而且操作也非常简单,接下来我们就来学习在excel2019工作表中插入3D模型的操作方法。1、单击【3D模型】选项卡单击【插入】选项卡下【插图】选项组中的【3D模型】按钮。图12、选择3D文件弹出【......
  • How to unlock Nissan Altima 2019-2022 Smart Remote 5 Buttons 433MHz Keys with Sm
    Howtounlock Nissan Altima2019-2022Smart Remote 5Buttons433MHzKeyswithSmartPro5000U-Plusfirst,youneedhavea SmartPro5000U-PlusProgrammer,ifyoudonothaveaSmartPro5000U-Plus,youcanbuyonefromchinaobd2.com.https://www.chinaobd2.co......
  • winter 2024 第二周周报
    内容winterweek2day1这套题复习了最短路,主要是dp,都是比较好推的dp,还是要多写dp吧,感觉写dp用的时间太久了day2这天是ccf的测试赛,测完就练了套河南大学联赛,10题看当时榜可能第八,只能说队友太给力了。写的那道l感觉挺好想的求方案数,刚开始也是在猜结论,没有想着去好好推qwq,后面......
  • 2024牛客寒假算法基础集训营1 K 牛镇公务员考试 题解
    Question2024牛客寒假算法基础集训营1K牛镇公务员考试给出一张试卷有\(n\)道单选题,每道题用一个整数\(a_i\)和一个长度为\(5\)的字符串\(s_i\)表示,其中第\(i\)道题的题面为:第\(a_i\)道题的答案是()A.\(s_1\)B.\(s_2\)C.\(s_3\)D.\(s_4\)E.\(s_5\)问:正......
  • [word] word2019中删除图片背景的功能使用图解教程
    一般情况下我们在word中插入拍摄的图片都是有背景的,但往往背景风格和文档的主体风格不搭配,很多朋友都会想到PS的抠图了,其实今天我们就用word2019中删除图片背景的功能来代替PS抠图的功能,具体操作如下:1、打开Word文档,选中需要调整的图片,切换至“格式”选项卡,单击“调整”组内的......
  • 2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019)
    Preface由于前两天疑似感染风寒,今天头痛+鼻塞+咽炎一条龙,硬打了4h顶不住就下班了最后过了8个题也还行,比较可惜的就是H题从中期写到结束,祁神和徐神各写了一个version也没过A.AverageRank挺有意思的一个题考虑将一个原来分数为\(x\)的人加\(1\)分后会发生什么,显然只有原来分......
  • 2022河南萌新联赛第(三)场:河南大学
    A-玉米大炮二分一个时间,然后计算每门大炮可以射击的次数#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<string,string>PS......