apache-kafka - Spark Structured Streaming-是否可以将偏移量写入两次
问题描述
我正在使用 spark 结构化流来使用来自 kafka 主题的数据并将数据写入另一个 kafka 接收器。
我想存储偏移量两次 - 从主题中读取一次并搅拌偏移量。其次,当将数据写入输出接收器并写入偏移量时,这可以通过提供检查点目录位置来实现,
是否可以写订阅主题时消耗的偏移量。
解决方案
您可以使用StreamingQueryListener。您可以通过以下方式将侦听器添加到您的流中
spark.streams.addListener(new StreamingQueryListener() {
override def onQueryStarted(event: StreamingQueryListener.QueryStartedEvent): Unit = {
// insert code here to log the offsets in addition to Spark's checkpoint
}
override def onQueryProgress(event: QueryProgressEvent): Unit = {}
override def onQueryTerminated(event: StreamingQueryListener.QueryTerminatedEvent): Unit = {}
})
推荐阅读
- dictionary - 折线不适用于传单中的以下坐标
- javascript - 如何通过 HTML 中的 JavaScript 在 Django 中保存模型实例
- android - Kitkat 是否支持 NFC NDEF?
- powershell - 安装 IBM Cloud CLI 时出现错误“'iex' 未被识别为内部或外部命令...”
- python - 无法在 NetCDF 卫星文件 (Xarray) 中沿纬度和经度切片
- html - 背景图像不会出现在 CSS 中
- hive - 如何让 Dataproc 将 Python-Hive 连接检测为 Yarn Job?
- typescript - 为什么 TypeScript 中的方法链接会导致泛型类型推断失败?
- python - 如何不在 tkinter 文本小部件中选择空白文本?
- javascript - GraphQL 变异创建文档,它是对象数组