【问题标题】:kafka-streams : to modify message structure before sending it to kafka topicskafka-streams :在将消息发送到 kafka 主题之前修改消息结构
【发布时间】:2019-02-25 14:42:46
【问题描述】:

我有一个场景,我需要在它到达 kafka 之前更改从 JDBC 源连接器获取的消息结构。 我是 kafka 的初学者,所以 kafka 流如何帮助我实现这一目标。

输入 -

{"id":"123","firstName":"pqr","lastName":"xyz","age":"23","dob":"20-09-1995"} 

我想将它存储在 elasticseacrh 索引中

{"id":"123","name":{"firstName":"pqr","lastName":"xyz"},"age":"23","dob":"20-09-1995"} 

我没有设置 kafka 流,我想使用它,如果可以使用 KSQL,我想知道这一点。

【问题讨论】:

  • 你能举一个结构的例子和你想把它改成什么吗?您是否打算使用 Kafka Streams,或者 KSQL 中的解决方案也可以接受?
  • 我得到的输入是
  • 输入 - {"id":"123","firstName":"pqr","lastName":"xyz","age":"23","dob":"20- 09-1995"} 我想将它存储在 elasticseacrh 索引中 - {"id":"123","name":{"firstName":"pqr","lastName":"xyz"},"age": "23","dob":"20-09-1995"} 不,我没有设置 kafka 流,我想使用它,如果可以使用 KSQL,我想知道。
  • KSQL 还不支持创建 STRUCT(这就是您在这里所做的),因此它需要是 Kafka Streams。我已经添加了标签,希望该社区的人可以帮助您。
  • 我不认为,KSQL 还支持这个......

标签: apache-kafka apache-kafka-streams apache-kafka-connect


【解决方案1】:

您似乎正在使用 Kafka Connect。对于这种情况,“单消息转换”(SMT)是您的朋友。这些允许您在连接器将数据写入主题之前一一转换每条消息。

查看这篇博文了解更多详情:https://www.confluent.io/blog/simplest-useful-kafka-connect-data-pipeline-world-thereabouts-part-3/

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-18
  • 2017-06-12
  • 2018-09-30
相关资源
最近更新 更多