0

我正在尝试使用 Kafka Streams 来实现用例。我在 MySQL 中有两个表 - 用户和帐户。我正在使用 Kafka MySQL 连接器将事件从 MySQL 获取到 Kafka。

我需要从 Kafka 内部获取帐户中的所有用户 ID。所以我打算在 MySQL 输出主题上使用KStream,处理它以形成一个输出并将其发布到一个主题,其中 Key 为 account-id,value 为 userId,用逗号(,)分隔。然后我可以通过ReadOnlyKeyValueStore类的get()方法使用交互式查询使用帐户 ID 获取所有用户 ID 。这是正确的方法吗?有没有更好的办法?这里可以使用 KSQL 吗?

4

2 回答 2

4

您可以使用 Kafka Connect 从 MySQL 流式传输数据,例如使用Debezium。从这里您可以使用 KStreams 或 KSQL 来转换数据,包括我认为您希望在这里执行的重新键入,以及将其加入其他流。如果您将 MySQL 中的数据提取到设置了日志压缩的主题中,则可以保证该主题中的每个键始终具有最新值。

于 2017-11-02T13:58:43.037 回答
0

如果你想在一个 UI 中内置 CDC 和对流数据的交互式连续 SQL 查询,我会看一下 striim。更多信息在这里:

http://www.striim.com/blog/2017/08/making-apache-kafka-processing-preparation-kafka/

于 2018-01-31T21:40:10.010 回答