Как замаскировать / удалить столбец JSON с помощью преобразований kafka connect

#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%, но вы можете попробовать.