我正在尝试从像INSERT INTO table SELECT * FROM topic
这样的kafka主题做一个简单的接收器
但是也要添加一个insert_timestamp列,其值为dateof(now())
在KCQL中使用这样的数据库函数是否可以用于接收器连接器?我可以以某种方式将函数dateof(now())
写入我的主题,而不是仅仅尝试将值作为字符串写入列中吗?或者我可能需要编写一个自定义接收器来支持这个?我会在列上使用默认值,但Cassandra似乎不支持。
答案 0 :(得分:1)
我不熟悉KCQL。但是,您可以使用Single Message Transforms作为Apache Kafka Connect API的一部分来实现此目的。例如,如果您想要Kafka消息的时间戳,则连接器中的此配置应该执行此操作:
"transforms":"InsertMsgTS",
"transforms.InsertMsgTS.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertMsgTS.timestamp.field":"message_ts",
如果你想要插入的绝对时间(而不是Kafka消息时间戳),那么你需要编写自己的变换(javadocs)