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

时间:2018-03-07 05:19:51

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

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

2 个答案:

答案 0 :(得分:2)

您有几种选择。

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

    当SMT适合特定要求时,请参阅discussion here

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

  3. KSQL构建于Kafka Stream's API之上,Here's an example是一个Java库,可让您根据自己的喜好转换数据。 What's new in ArcGIS 10.2.1

答案 1 :(得分:0)

看看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