Tôi nghĩ tất cả những gì bạn muốn là Kafka Connect Single Message Transform (SMT)
và chính xác hơn là ReplaceField
:
Phần sau sẽ thay thế id
tên trường có _id
:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"
Trong trường hợp của bạn, trước khi áp dụng thông tin trên, bạn cũng có thể muốn Flatten
foos
:
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."
và cuối cùng áp dụng phép chuyển đổi để đổi tên trường:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"