当前位置: 首页 > article >正文

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


http://www.kler.cn/news/10646.html

相关文章:

  • JS 正则匹配(RegExp)
  • UniverSeg:通用医学图像分割模型来了!
  • Python3 os.symlink() 方法、Python 质数判断
  • 常见面试题之MQ篇
  • 【 SpringBoot 配置⽂件 】
  • 在window上安装python
  • 迈入Java,一文告诉你学习Java的原因
  • 二、Java 并发编程(5)
  • 【算法】【数组与矩阵模块】求数组中从未出现的最小正整数(含拓展思路)
  • FFMPEG: [ API ] >打开/关闭一个输入文件
  • Shiro概述
  • 9.1 相关分析
  • 定点乘法器优化---华为杯
  • Python求矩阵的特征值和广义特征值
  • 认识C++《共、枚、指1》
  • 什么是雪花算法?啥原理?
  • GORM 基础 -- Associations
  • 这7种常见的JavaScript错误,你知道吗?
  • 规模化敏捷框架:Scrum@Scale
  • 他98年的,我真的玩不过他...
  • 请我为详细讲解C11的新增原子操作
  • Oracle-主备切换问题(BUG-31747989)
  • 论文阅读 - ANEMONE: Graph Anomaly Detection with Multi-Scale Contrastive Learning
  • 大数据 | 实验一:大数据系统基本实验 | MapReduce 初级编程
  • JAVA经典之递归测试01-----JAVA入门基础教程
  • #详细介绍!!! 造成死锁的原因以及解决方案!
  • L2-042 老板的作息表(极短代码)
  • JavaScript【六】JavaScript中的字符串(String)
  • python+vue 在线考试系统的设计与实现
  • Quartz框架详解分析