1

我有一个在 Apache Beam(使用 Spark Runner)中开发的流管道,它从 kinesis 流中读取。

我正在寻找 Apache Beam 中的选项来管理 kinesis 检查点(即定期存储 kinesis 流的当前位置),以便它允许系统从故障中恢复并继续处理流停止的地方。

是否有可供 Apache Beam 支持类似于 Spark Streaming 的 kinesis 检查点的规定(参考链接 - https://spark.apache.org/docs/2.2.0/streaming-kinesis-integration.html)?

4

1 回答 1

0

由于KinesisIO基于UnboundedSource.CheckpointMark,它使用了 Beam 提供的标准检查点机制UnboundedSource.UnboundedReader

一旦 aKinesisRecord被读取(实际上,从记录队列中提取,该队列通过实际从 Kinesis 分片中获取记录来单独提供),然后将使用记录更新SequenceNumber分片检查点,然后根据运行程序的实现UnboundedSource和检查点处理,将被保存。

Afaik,Beam Spark Runner为此使用了 Spark States 机制。

于 2020-06-12T17:55:24.027 回答