java - 何时使用 Spark Streaming 将记录写入预写日志?

标签 java apache-spark spark-streaming reliability

我在使用 Spark 流的应用程序中启用了 writeAheadLog。记录到底什么时候会写入 writeAheadLog?是在调用 store(...) 时还是在接收/接受记录后立即进行?当我尝试实现一个可靠的接收器时,我想首先收集一堆记录,然后再实际存储它们。现在我可以确定,如果应用程序在存储之前失败,缓冲区中尚未调用 store() 的记录将出现在 writeAheadLog 中吗?

此外,当应用程序重新启动时处理日志中的记录的正确方法是什么。我想存储这些事件,有没有一种简单的方法可以访问它们?

最佳答案

我做了一些测试,看起来记录是在 store() 上写入 writeAheadLog 的。这意味着在存储之前需要采取额外的操作来确保收集记录的缓冲区的故障安全。

关于java - 何时使用 Spark Streaming 将记录写入预写日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655211/

相关文章:

apache-spark - Spark : Is receiver in spark streaming a bottleneck?

apache-spark - 如何检查 PySpark 使用了多少个内核?

java - 如何将默认的 .ivy2 缓存目录更改为其他目录?

scala - 来自 Kafka 主题的 Spark Streaming 抛出偏移量超出范围,没有重新启动流的选项

java - ERROR 清理广播异常时出错

java - 在android studio中使用react-native编译android时出错

java - Spring SOAP Web 服务 - 显示来自数据库/路径的图像

java - 用于序列化的字节数组池

java - 在 Spring 中订购第三方 Aspect

scala - 使用前移除 Spark RDD block