Проблема с TimestampConverter из ConfluentJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема с TimestampConverter из Confluent

Сообщение Anonymous »


Я новичок в Kafk, и мне сложно разобраться с полем метки времени в моем соединителе приемника JDBC.

Коротко говоря, я использую Docker для тестирования исходного коннектора PostgresSQL для копирования данных одной таблицы, а затем использую коннектор-приемник JDBC для вставки этих данных в другую базу данных Postgres в таблицу, которая уже существует и имеет разные имена столбцов. Думаю, я все сделал правильно с остальной частью конфигурации, но по какой-то причине TimestampConverter не работает, поэтому он передает bigint в запросе.

Мой разъем для раковины:

confluentinc/kafka-connect-jdbc:10.7.4

name = Collaborator-Sink-postgres-connector разъем.класс = io.confluent.connect.jdbc.JdbcSinkConnector задачи.макс = 1 темы = colab-service.public.parameters соединение.url = хост соединение.пользователь = пользователь соединение.пароль = пароль база данных = набор_сотрудничества auto.create = ложь table.options = CREATE_IF_NOT_EXISTS Transforms = timestampConverter,extractValue,replaceField,dropKey Transforms.timestampConverter.type = org.apache.kafka.connect.transforms.TimestampConverter$Value Transforms.dropKey.type = io.confluent.connect.transforms.Drop$Key Transforms.extractValue.type=org.apache.kafka.connect.transforms.ExtractField$Value Transforms.replaceField.type = org.apache.kafka.connect.transforms.ReplaceField$Value Transforms.dropKey.schema.behavior=сохранить Transforms.timestampConverter.field = para_dt_cadastro Transforms.timestampConverter.format=гггг-ММ-дд ЧЧ:мм:сс.ССС Transforms.timestampConverter.unix.precision= микросекунды Transforms.timestampConverter.target.type = Метка времени Transforms.replaceField.renames = para_cd_id:pasi_cd_id, para_tx_dominio:pasi_tx_dominio, para_tx_descricao:pasi_tx_descricao, para_tx_valor:pasi_tx_valor, para_tx_tipo:pasi_tx_tipo, para_dt_ult_alt:pasi_dt_ult_alt, para _dt_cadastro:pasi_dt_cadastro, usua_cd_id_cadastro:usua_cd_id_cadastro, usua_cd_id_ult_alt:usua_cd_id_ult_alt, para_tx_sistema:pasi_tx_sistema db.timezone = UTC pk.fields = pasi_cd_id таблица.имя.формат = public.parametro_sistema Transforms.extractValue.field=после Insert.field = pasi_cd_id, pasi_tx_dominio, pasi_tx_descricao, pasi_tx_valor, pasi_tx_tipo, pasi_dt_ult_alt, pasi_dt_cadastro, usua_cd_id_cadastro, usua_cd_id_ult_alt, pasi_tx_sistema Ошибка сообщения на моей консоли Kafka Connect Docker:

Я выделил поля временных меток во вставке.

Вызвано: java.sql.SQLException: цепочка исключений: 04.01.2024 14:11:50 java.sql.BatchUpdateException: пакетная запись 0 INSERT INTO "публичный"."parametro_sistema" («pasi_cd_id», «pasi_tx_dominio», «pasi_tx_descricao», «pasi_tx_valor», «pasi_tx_tipo», «pasi_dt_cadastro», «pasi_dt_ult_alt», «usua_cd_id_cadastro», «usua_cd_id_ult_alt», «pasi_tx_sistema») VALUES (1,'SISTEMA_CLOUD_BUCKETNAME','Вариант для ссылки на имя сделай ведро на нувем сделай Google','r2d2-neki','R2D2',1669047144317563,1669047144317563,NULL,NULL,'SISTEMA') было прервано: ОШИБКА: столбец «pasi_dt_cadastro» имеет тип метки времени без часового пояса, но выражение имеет тип bigint 2024-01-04 14:11:50 Подсказка: вам придется переписать или привести выражение.

Часть журнала, когда соединитель приемника пытается преобразовать поле метки времени:

transforms.timestampConverter.field = para_dt_cadastro 2024-01-04 14:11:36 Transforms.timestampConverter.format = гггг-ММ-дд ЧЧ: мм: сс.ССС 2024-01-04 14:11:36 Transforms.timestampConverter.negate = false 2024-01-04 14:11:36 Transforms.timestampConverter.predicate = 2024-01-04 14:11:36 Transforms.timestampConverter.target.type = Метка времени 2024-01-04 14:11:36 Transforms.timestampConverter.type = класс org.apache.kafka.connect.transforms.TimestampConverter$Value 2024-01-04 14:11:36 value.converter = null Поле моей временной метки в моем сообщении:

"после": { "para_cd_id": 2, "para_tx_dominio": "SISTEMA_CLOUD_PROJECTID", "para_tx_descricao": "Вариант для ссылки на идентификатор проекта в новом Google", "para_tx_valor": "соавтор-364516", "para_tx_tipo": "СИСТЕМА", "para_dt_cadastro": 1669047144317563, "para_dt_ult_alt": 1669047144317563, «usua_cd_id_cadastro»: ноль, «usua_cd_id_ult_alt»: ноль, "para_tx_sistema": "R2D2" }, Я принимаю любую помощь по решению проблемы с отметкой времени и не стесняюсь сообщать мне об остальной части конфигурации.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»