apache-spark - 有没有办法动态停止 Spark Structured Streaming?
问题描述
在我的场景中,我有几个数据集不时出现,我需要在我们的平台中摄取。摄取过程涉及几个转换步骤。其中之一是 Spark。特别是到目前为止,我使用的是 spark 结构化流。基础设施还涉及 kafka,spark 结构化流从中读取数据。
我想知道是否有一种方法可以检测到一段时间内没有其他内容可以从某个主题中消耗以决定停止工作。那就是我想在消耗该特定数据集然后停止它所需的时间内运行它。出于特定原因,我们决定不使用 spark 的批处理版本。
因此,是否有任何超时或可用于检测没有更多数据传入并且所有内容都已处理的东西。
谢谢
解决方案
您可以使用 query.lastProgress 来获取时间戳并围绕它构建逻辑。不要忘记将您的检查点保存到持久、持久、可用的存储中。
推荐阅读
- java - 如何将对象数组从一种方法转移到另一种方法并返回一个新对象?
- ruby-on-rails - 无法写入未知属性“client_mutation_id”
- java - 使用 Maven 执行 Cucumber 测试
- python - 用python计算csv文件中的行数问题
- c# - 事件 ControlRemoved 事件后如何获取刷新的 TabPages 列表?
- php - 在原始类中调用静态方法
- c++ - 有人可以帮我并行化这个 C++ 代码吗?
- apache-spark - 使用 Kafka 使用 Spark 结构化批处理作业管理偏移量
- python - 基于传入路径更新字典中嵌套值的简单方法
- python - 如何同时运行两个 for 循环并决定输出