【问题标题】:Merge multiple events from RDBMS in Kafka在 Kafka 中合并来自 RDBMS 的多个事件
【发布时间】:2019-07-26 06:09:43
【问题描述】:

我们正在从 RDBMS 数据库的不同表中捕获变更数据。每个单独的更改都被视为一个事件。所有事件都发布到单个 Kafka 主题中。每个事件(消息)都将表名作为标题。我们需要满足某些用例,我们需要合并多个事件并填充输出。 整件事都是实时发生的。

我们正在使用 Apache Kafka。

【问题讨论】:

  • 也许如果你能解释你想要使用什么技术,以及到目前为止你已经尝试过什么,人们将能够提供更好的帮助。你问的问题很广泛。
  • 亲爱的 Robin,以下是我的用例序列: 1. RDBMS 中的两个表 T1 和 T2 发生了变化,但这些变化是独立的,而不是在单个事务中。 2. 更改(事件 - E1 和 E2)由 CDC 工具捕获并发布到单个 Kafka 主题中 3. Kafka 主题包含多个分区 4. 我们需要从事件 E1 中捕获某些字段和从事件 E2 中捕获某些字段,准备数据集以填充输出系统。我们需要一种机制来跟踪事件 E1 和 E2 如何与时间范围相关。事件 E1 和 E2 有一个公共字段,即 ID
  • 亲爱的罗宾,请提出建议。

标签: apache-kafka apache-kafka-streams


【解决方案1】:

不确定合并事件的确切含义,但这似乎在 Kafka 流域中。 您可以使用流和 ktables 设计每个事件,为此您将应用 Kafka 流拓扑(例如加入事件流并应用一些业务逻辑)

但是您需要更多技术建议吗?

亚尼克

【讨论】:

  • 是的。不同的事件即将发生在同一个 kafka 主题上。我需要将两个不同的事件结合起来,从这两个事件中提取信息,但是这个事件发生的时间是不固定的。
  • @D 您可以使用窗口操作来捕获时间差异,并编辑 TimestampExtractor 以捕获应在窗口内加入事件的不同时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2017-01-31
  • 1970-01-01
  • 2022-09-24
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多