【问题标题】:Kafka Connect- Modifying records before writing into sinkKafka Connect - 在写入接收器之前修改记录
【发布时间】:2018-08-15 03:01:48
【问题描述】:

我已经使用 confluent-4.0.0 安装了 Kafka 连接 使用 hdfs 连接器,我可以将从 Kafka 主题收到的 Avro 记录保存到配置单元。 我想知道在写入 hdfs 接收器之前是否有任何方法可以修改记录。 我的要求是对记录的值进行小的修改。例如,对整数执行算术运算或字符串操作等。 请建议是否有任何方法可以实现这一目标

【问题讨论】:

    标签: hadoop apache-kafka apache-kafka-connect


    【解决方案1】:

    看看 Kafka 连接变压器 [1] 和 [2]。您可以构建自定义转换器库并在连接器中使用它。

    [1]http://kafka.apache.org/documentation.html#connect_transforms [2]https://cwiki.apache.org/confluence/display/KAFKA/KIP-66%3A+Single+Message+Transforms+for+Kafka+Connect

    【讨论】:

      【解决方案2】:

      您有多种选择。

      1. Single Message Transforms,您可以在here 中看到它。非常适合在消息通过 Connect 时进行轻量级更改。如果没有现有的转换可以满足您的需求,则基于配置文件且可使用 provided API 进行扩展。

        请参阅discussion here,了解 SMT 何时适合特定要求。

      2. KSQL 是 Kafka 的流式 SQL 引擎。在将数据流发送到 HDFS 之前,您可以使用它来修改数据流。 See this example here.

      3. KSQL 建立在Kafka Stream's API 之上,这是一个 Java 库,让您能够根据需要转换数据。 Here's an example.

      【讨论】:

      • 谢谢,Robin Moffatt Kafka Stream API 最适合我的要求。我会尝试使用它
      猜你喜欢
      • 2021-09-06
      • 2020-05-29
      • 2019-06-17
      • 2019-02-23
      • 2020-05-13
      • 2016-12-26
      • 2018-11-27
      • 2022-11-24
      • 1970-01-01
      相关资源
      最近更新 更多