gpt4 book ai didi

apache-spark - 为什么 RDD 不适合流式任务?

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

我广泛使用 Spark,Spark 的核心是 RDD,正如 RDD 论文中所示,在流式应用程序方面存在局限性。这是 RDD 论文中的确切引用。

As discussed in the Introduction, RDDs are best suited for batch applications that apply the same operation to all elements of a dataset. In these cases, RDDs can ef- ficiently remember each transformation as one step in a lineage graph and can recover lost partitions without having to log large amounts of data. RDDs would be less suitable for applications that make asynchronous finegrained updates to shared state, such as a storage system for a web application or an incremental web crawler

我不太明白为什么RDD不能有效地管理状态。 Spark Streaming 如何克服这些限制?

最佳答案

I don't quite understand why the RDD can't effectively manage state.

这不是真的能不能,而是更多的是成本。我们已经建立了处理细粒度更改的机制 Write-ahead logging但是管理日志非常昂贵。这些必须写入持久存储,定期合并,并且在发生故障时需要昂贵的重放。

相比之下,RDD 是极其轻量级的解决方案。它只是一个小的本地数据结构,只需要记住它的沿袭(祖先和应用的转换)。

这是否意味着不可能在 Spark 之上创建至少部分有状态的系统。看看 Caffe-on-Spark architecture .

How does Spark Streaming overcome these limitations?

它没有,或者更准确地说,它在外部独立于 RDD 抽象来处理这个问题。它包括使用具有源特定保证的输入和输出操作以及用于处理接收到的数据的容错存储。

关于apache-spark - 为什么 RDD 不适合流式任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com