DStream是什么?怎样对DStream进行操作?

DStream的本质

DStream(Discretized Stream)是Spark Streaming提供的基本数据抽象。它表示一个连续的数据流,可以是从源接收到的输入数据流,也可以是通过转换输入流生成的已处理数据流。

DStream由一系列连续的RDD表示,每个RDD都包含来自特定间隔的数据,如下图所示。SparkStreaming对流数据按照秒/分等时间间隔进行微批划分,每个微批就是一个RDD,这些个时间上连续的RDD就组成了

DStream

所以DStream本质上就是一系列时间上连续的RDD即DStream=>Seq[RDD]

在这里插入图片描述
对DStream进行操作

对DStream进行操作(如:flatMap/map/filter…)就是对其底层的RDD进行操作

对RDD操作会返回新的RDD,对DStream进行操作也会返回新的DStream
在这里插入图片描述
DStream具有容错性:

RDD之间存在依赖关系,DStream间也有依赖关系,RDD具有容错性,那么DStream也具有容错性
在这里插入图片描述
上图相关说明:

1、每一个椭圆形表示一个RDD

2、椭圆形中的每个圆形代表一个RDD中的一个Partition分区

3、每一列的多个RDD表示一个DStream(图中有三列所以有三个DStream

4、每一行最后一个RDD则表示每一个Batch Size所产生的中间结果RDD

DStream的API

大多数Transformation和Action/Output和之前的RDD的一样使用.少部分不一样的通过案例讲解

DStream Operations
Transformation
大多数和RDD中的类似,但有一些特殊的针对特定类型应用使用的函数,比如updateStateByKey状态函数、window窗口函数等,后续具体结合案例讲解。
http://spark.apache.org/docs/latest/streaming-programming-guide.html#transformations-on-dstreams

在这里插入图片描述
Output函数

Output Operations:将DStream中每批次RDD处理结果resultRDD输出
http://spark.apache.org/docs/latest/streaming-programming-guide.html#output-operations-on-dstreams

在这里插入图片描述
Java最新课程:

Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题

Java基础入门:

java零基础自学首Java入门教程(含Java项目和Java真题)

Javaweb核心基础

JavaWeb基础教程,Java web从入门到企业实战完整版

Spring Cloud最全微服务架构

史上最全面的springcloud微服务技术栈

SSM框架教程:

SSM框架教程_Spring+SpringMVC+Maven高级+Spring

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值