Myślę, że wszystko, czego chcesz, to Kafka Connect Single Message Transform (SMT)
a dokładniej ReplaceField
:
Poniższe zastąpi id
nazwa pola z _id
:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"
W Twoim przypadku przed zastosowaniem powyższej transformacji możesz również chcieć Flatten
foos
:
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."
i na koniec zastosuj transformację do zmiany nazwy pola:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"