Spark 2.3.1结构化流式传输状态存储内部工作

问题描述 投票:7回答:1

我一直在浏览关于结构化流媒体的sp​​ark 2.3.1的文档,但是无法找到有状态操作如何在内部与状态存储一起工作的细节。更具体地说,我想知道的是,(1)是分布的州商店吗? (2)如果是,那么每个工人或核心如何?

似乎在以前版本的火花中它是每个工人但现在不知道。我知道它是由HDFS支持的,但没有解释内存存储实际上是如何工作的。

它确实是一个分布式内存存储?我对重复数据删除特别感兴趣,如果数据是来自大数据集的流,那么这需要进行规划,因为所有“Distinct”数据集最终将作为该数据集处理的结束保存在内存中。因此,需要根据状态存储的工作方式来规划工作者或主人的大小。

有没有人有关于如何处理的信息,指针或建议?

谢谢,伙计

apache-spark spark-structured-streaming
1个回答
0
投票

结构化流中只有一个State Store实现,它由内存中的HashMap和HDFS支持。 In-Memory HashMap用于数据存储,而HDFS用于故障角色。 HashMap占用worker上的执行程序内存,每个HashMap代表聚合分区的版本化键值数据(在重复数据删除,groupByy等聚合器运算符之后生成)

但这并没有解释HDFSBackedStateStore如何实际工作。我没有在文档中看到它

你没有这样的文件是对的。我必须理解代码(2.3.1),写了一篇关于State Store如何在Structured Streaming内部工作的文章。你可能想看看:https://www.linkedin.com/pulse/state-management-spark-structured-streaming-chandan-prakash/

© www.soinside.com 2019 - 2024. All rights reserved.