gpt4 book ai didi

apache-spark - Spark Structured Streaming 和 DStreams 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 04:50:58 26 4
gpt4 key购买 nike

我一直在尝试在线查找 Material - 两者都是基于微批次的 - 那么有什么区别?

最佳答案

Spark Streaming(RDD/DStream)和Spark Structured Streaming(Dataset/DataFrame)简述

星火流 基于 DStream . DStream 由一系列连续的 RDD 表示,这是 Spark 对不可变的分布式数据集的抽象。 Spark Streaming 存在以下问题。

困难 - 构建支持交付策略的流管道并不简单:恰好一次保证、处理迟到的数据或容错。当然,所有这些都是可以实现的,但它们需要程序员的一些额外工作。

Incosistent - 用于生成批处理(RDD、Dataset)的 API 与流式处理(DStream)的 API 不同。当然,代码没有任何障碍,但至少处理抽象总是更简单(尤其是维护成本)。

example

Spark Streaming 流程图:-
Spark Streaming flow diagram

Spark 结构化流 可以理解为一个无界表,随着新的传入数据而增长,即可以被认为是建立在 Spark SQL 上的流处理。

更具体地说,结构化流给 Spark 带来了一些新概念。

一次性保证 - 结构化流媒体专注于该概念。这意味着数据只处理一次并且输出不包含重复项。

事件时间 - DStream 流媒体观察到的问题之一是处理顺序,即较早生成的数据在较晚生成的数据之后处理的情况。结构化流使用称为事件时间的概念来处理这个问题,在某些情况下,它允许正确聚合处理管道中的后期数据。

sink、Result Table、输出模式和水印是 spark 结构化流的其他特性。

example

Spark结构化流流程图:-

enter image description here

关于apache-spark - Spark Structured Streaming 和 DStreams 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290521/

26 4 0