我在talend作业中使用tkafkaoutput,工作时发现tkafkaoutput在tkafkaoutput的内置模式(有效负载、偏移量)中不提供键列,即它不提供从传入消息保留键的方法。
我们有一个新的请求,将键值对中的数据加载到紧凑的kafka主题。但是talend中的tkafkaoutput/tkafkainput组件没有提供用消息编写自己的密钥的方法,因为我们无法在内置模式中添加密钥列。它只有一列,因此只能通过它传输完整的消息,不能单独传输密钥(另一列)。
例如,etl加载为-{“key”:“a2v4”,“value”:“y29uzmx1zw50”}kafka读取为-key:{null}value:{“key”:“a2v4”,“value”:“y29uzmx1zw50”}
上面的键值记录将仅被视为一个值,并且它将kafka端的键视为null,因此它将抛出以下错误“org.apache.kafka.common.errors.corruptrecordexception:此消息的crc校验和失败,超过了有效大小,或者已损坏”
有没有别的方法可以达到这个目的?
暂无答案!
目前还没有任何答案,快来回答吧!