来自MySQL和Kafka主题的事件数据。我们将从MySQL加载历史数据,然后切换到Kafka,以便当前的data.Mysql ID也会流入Kafka。因此,消息包含事件ID。Kafka流事件将使用spark作业进行处理,并最终将数据摄取到报表中。
问题:如何加载历史数据并实时切换到Kafka源。
1-创建临时使用者组以存储所有分区的当前偏移量和当前时间戳TS1。
2-从create date <= TS1所在的MySQL表中获取最小ID和最大ID。并通过500k记录的分区进行处理。
3-完成上述处理后,将时间戳传递到主spark作业,该作业将处理存储的偏移量中的streAming数据,但event date > TS1,然后继续处理。
不应该有任何重复的记录。你觉得呢。这种方法的任何问题。我看到时间戳是几秒。会有一些重复的,因为我们在Mili second之前没有精确的日期。
发布于 2020-01-23 14:46:15
Debezium和Kafka Connect JDBC源代码都允许批量将快照加载到Kafka主题中。不需要Spark。
在初始加载之后,您可以保留DB以捕获CDC事件,直到您重写生产者以将该数据主动发送到它自己的主题。
https://stackoverflow.com/questions/59872838
复制相似问题