在 Kafka Connect 中从一条消息写入多个条目

Posted

技术标签:

【中文标题】在 Kafka Connect 中从一条消息写入多个条目【英文标题】:Writing multiple entries from a single message in Kafka Connect 【发布时间】:2019-11-18 05:27:03 【问题描述】:

如果在一个主题上我收到某种格式的消息,这些消息代表相同结构的列表(例如 JSON 列表或 protobuf 中的重复字段),我是否可以配置 Kafka Connect 以将列表中的每个条目写为单独的行(例如在 HDFS 或 SQL 数据库中的 parquet 文件中)?这是否可能仅使用捆绑的转换器/连接器?

即我可以使用每条 Kafka 消息来表示数千条记录,而不是发送数千条单独的消息吗?

使用 Kafka Connect 实现这一目标的简单方法是什么?

【问题讨论】:

您可以为此使用 Kafka Streams。 Kafka 流能够将消息从一个源主题转换为另一个目标主题。然后使用 Kafka Connect 从目标主题而不是源主题读取消息。 【参考方案1】:

捆绑的消息转换只能进行一对一的消息操作。因此,如果您希望 Connect 将其写为单独的记录,则必须以某种方式(直接或通过流处理应用程序)显式生成这些扁平列表。

或者,如果适用,您也可以使用 Hive 或 Spark 来扩展该列表以供以后处理。

【讨论】:

以上是关于在 Kafka Connect 中从一条消息写入多个条目的主要内容,如果未能解决你的问题,请参考以下文章

在我的 laravel 4 和 angularjs 应用程序中从一条路线重定向到另一条路线

kafka connect到底会不会重写/丢失数据

Kafka Connect:一个接收器连接器,用于从一个主题写入多个表

如何在 Kafka Connect S3 中解析记录头?

kafka02-基本架构

Confluent Kafka Connect HDFS Sink 连接器延迟