hadoop - Kafka Connect-在写入接收器之前修改记录

标签 hadoop apache-kafka apache-kafka-connect

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

最佳答案

您有多种选择。

  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 .

关于hadoop - Kafka Connect-在写入接收器之前修改记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49144647/

相关文章:

hadoop - Hive/Tez作业无法开始

Java/Scala 远程 HDFS 使用

apache-kafka - Spring Kafka 幂等生产者配置

apache-kafka - kafka key 的最大长度是多少?

apache-kafka - 如何使用 kafka 0.10.x 获取所有组列表

hadoop - 从映射器写入单个文件

Hadoop 操作关闭节点

java - 如何使用java中的 `PEM`编码文件配置kafka进行TLS通信

sql-server - 如何使用 Debezium 将 250 个表从 MS SQL 提取到 Kafka 中

apache-kafka-connect - kafka connect - jdbc sink sql 异常