Инфраструктура KCOP позволяет программировать c контроль над записью производителя Kafka. Для каждой операции с источником вы можете определить, сколько сообщений записывается в Kafka, какие темы они тоже go, и каковы байты ключа и значения.
В KCOP вы можете переопределить временную метку для быть любым форматом, который вам нравится с java. Это связано с тем, что каждый вызов createProducerRecords предоставляет предлагаемую запись Avro generi c, которая имеет схему, позволяющую идентифицировать таблицу, столбцы и их типы.
Согласно Avro Generi * 1046 Поведение записи, задокументированное в документации Avro с открытым исходным кодом, затем вы можете выбрать соответствующие значения, которые вас интересуют, и создать новую запись Avro generi c с преобразованными значениями. Затем передайте эту новую запись Avro Generi c на остальную часть KCOP.
Обратите внимание, что контрольные KCOP включают в себя код, который делает это, хорошим примером является KCOP Avro для однорядной проверки. Вы можете найти код для всех наших интегрированных KCOP в файле samples.jar установки вашего продукта.
Однострочный KCOP аудита Avro берет записи Avro generi c до и после и создает новую Avro Generi c запись, которая является их композицией. Если во время копирования значений вы проверяли тип столбца, вы могли бы определить временные метки и изменить значение, которое вы помещали в новую составную запись Avro generi c.
Однако мы предлагаем некоторые гибкость предварительного форматирования, согласно следующей ссылке
https://www.ibm.com/support/knowledgecenter/en/SSTRGZ_11.4.0/com.ibm.cdcdoc.mcadminguide.doc/refs/mirror_timestamp_write_format_Kafka.html
Обратите внимание, чтобы использовать этот дополнительный предварительный формат, вам необходимо: «Чтобы включить этот параметр, необходимо установить для параметра mirror_write_format значение DYNAMI C. "
Вы заметите, что можно установить параметр хранилища данных, который позволит обычно настраивать данные метки времени, которые получает ваша KCOP.
«AVRO (по умолчанию)
Форматирует значения столбца TIMESTAMP в виде числа микросекунд с UNIX эпохи, 1 января 1970 года (календарь ISO). Для целей этого расчета временные метки предполагаются равными UT C.
Для столбцов TIMESTAMP с точностью выше микросекунд значения форматируются как строки. Для получения формата строки используйте параметр хранилища данных timestamp_format. Значением по умолчанию для timestamp_format является гггг-мм-дд ЧЧ: мм: ss.SSSNNNnnnppp.
Значения столбца TIMESTAMP WITH TIMEZONE форматируются как строки. Вы можете указать формат строки, используя параметр хранилища данных timestamp_tz_format. Значением по умолчанию для timestamp_tz_format является гггг-ММ-дд ЧЧ: мм: сс.SSSNNNnnnppp T. "
Если это не дает точного желаемого формата, вы можете выбрать ближайший формат и изменить значение столбцы отметок времени в KCOP.
Изменение KCOP выполняется следующим образом ...
https://www.ibm.com/support/knowledgecenter/en/SSTRGZ_11.4.0/com.ibm.cdcdoc.mcadminguide.doc/tasks/createkafkacop.html
Вопрос относительно имени столбца заключается в То же самое. Если используемый KCOP использует реестр схемы Avro, то вы можете программно изменить схему, зарегистрированную в реестре схемы. Если это JSON, вы можете изменить строку JSON после ее создания или сделать изменение перед вызовом метода Avro для JSON.
В качестве альтернативы, если ваш источник поддерживает производные столбцы, я полагаю, что в консоли управления вы можете определить производный столбец с новым именем, которое является просто значением Исходный столбец. Теперь я помню, что вы можете отменить выбор исходного столбца, и, таким образом, ваше имя будет изменено.