如何正确使用Flink Connector?( 十 )

  • setStartFromEarliest , 从 kafka 最早的位置开始读取 。

  • setStartFromLatest , 从 kafka 最新的位置开始读取 。

  • setStartFromTimestamp(long) , 从时间戳大于或等于指定时间戳的位置开始读取 。 Kafka 时戳 , 是指 kafka 为每条消息增加另一个时戳 。 该时戳可以表示消息在 proudcer 端生成时的时间、或进入到 kafka broker 时的时间 。

  • setStartFromSpecificOffsets , 从指定分区的 offset 位置开始读取 , 如指定的 offsets 中不存某个分区 , 该分区从 group offset 位置开始读取 。 此时需要用户给定一个具体的分区、offset 的集合 。

  • 一些具体的使用方法可以参考下图 。 需要注意的是 , 因为 Flink 框架有容错机制 , 如果作业故障 , 如果作业开启 checkpoint , 会从上一次 checkpoint 状态开始恢复 。 或者在停止作业的时候主动做 savepoint , 启动作业时从 savepoint 开始恢复 。 这两种情况下恢复作业时 , 作业消费起始位置是从之前保存的状态中恢复 , 与上面提到跟 kafka 这些单独的配置无关 。

    推荐阅读