#apache-kafka #apache-kafka-connect
Вопрос:
Я использую MySQL-коннектор Kafka debizium, я пытаюсь удалить / замаскировать столбец json с помощью преобразований,
попробовал поле маски, но оно не работает
transforms: "maskField",
transforms.maskField.type: "org.apache.kafka.connect.transforms.MaskField$Value",
transforms.maskField.fields: "data",
original :
{
"id": "10001",
"data": {
"key1": "value1",
"key2": "value2"
}
}
expected :
{
"id": "10001",
"data": null
}
or
{
"id": "10001"
}
Как я могу этого достичь, используя преобразования ??
Комментарии:
1. Вы получаете конкретную ошибку? Как написано в документации, преобразование полей маски предназначено только для числовых или строковых данных. У вас есть объект/карта, которая не будет работать, и нет никакого существующего преобразования, которое действительно хорошо работало бы с вложенными форматами данных, за исключением извлечения/подъема
2. никакой ошибки, и я тоже не вижу никакой трансформации, но да, это то, что я подумал, спасибо .
Ответ №1:
Есть также и такой способ:
«преобразования»: «Поле замены»,
«transformes.ReplaceField.type»: «организация.apache.кафка.подключи.преобразуй.Замени поле$Значение»,
«transformes.ReplaceField.черный список»: «field_name_here»
Я не уверен на 100%, но вы можете попробовать.