Apache kafka 使用Kafka Connect构建数据转换服务

Apache kafka 使用Kafka Connect构建数据转换服务,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,卡夫卡流是好的,但我必须做每一个配置非常手动。相反,Kafka Connect提供了它的API接口,这对于处理配置以及任务、工作人员等非常有用 因此,我正在考虑将Kafka Connect用于我的简单数据转换服务。基本上,服务将从一个主题读取数据,并将转换后的数据发送到另一个主题。为了做到这一点,我必须制作一个自定义接收器连接器,将转换后的数据发送到kafka主题,但是,这些接口函数似乎在SinkConnector中不可用。如果我能做到这一点,那就太好了,因为我可以通过RESTAPI管理任务、工

卡夫卡流是好的,但我必须做每一个配置非常手动。相反,Kafka Connect提供了它的API接口,这对于处理配置以及任务、工作人员等非常有用

因此,我正在考虑将Kafka Connect用于我的简单数据转换服务。基本上,服务将从一个主题读取数据,并将转换后的数据发送到另一个主题。为了做到这一点,我必须制作一个自定义接收器连接器,将转换后的数据发送到kafka主题,但是,这些接口函数似乎在SinkConnector中不可用。如果我能做到这一点,那就太好了,因为我可以通过RESTAPI管理任务、工作人员,并在分布式模式下运行任务(多个实例)

我有两个选择:

  • 了解如何将信息从SinkConnector发送到卡夫卡主题
  • 了解如何构建一个REST接口API,比如Kafka Connect,它封装了Kafka Streams应用程序
有什么想法吗

  • 了解如何将信息从SinkConnector发送到卡夫卡主题
接收器连接器使用来自卡夫卡主题的数据/消息。如果您想将数据发送到卡夫卡主题,您可能正在谈论源连接器

  • 了解如何构建一个REST接口API,比如Kafka Connect,它封装了Kafka Streams应用程序
使用,您可以拥有一个模板来创建自己的Kafka连接器(源或接收器)。在您希望在连接器之后构建一些流处理管道的情况下,您主要谈论的是另一个不是Kafka流的流处理引擎的连接器。卡夫卡火花,卡夫卡弗林克

但是,如果需要,您可以使用的模板构建。使用
List poll()
方法或
put(收集记录)
方法将记录作为流处理。它们扩展了kafka connect中的
org.apache.kafka.connect.[source.SourceTask | sink.SinkTask]

一个REST接口API,比如Kafka Connect,它封装了Kafka Streams应用程序

这正是KsqlDB允许您做的

除了使用SQL查询创建流和表之外,它还提供了一个RESTAPI,并且可以与连接端点交互(或嵌入连接工作程序本身)


创建Kafka connect是为了将Kafka代理连接到外部系统,而不是流媒体。如果您认为Kafka流不好,您可以使用Kafka connect将Kafka代理连接到另一个流引擎(Spark、Flink等)。谢谢,让我看看Kafka connect archtypeI上周我实现了一个github Kafka源代码连接器,似乎可以使用
poll()
方法。在本例中,我收集了一个固定大小的列表,并且只收集了
SourceRecord
()中的几个项目。在您的情况下,您将使用
SinkRecord