Как написать запрос Kafka Connect для запроса данных между двумя конкретными датами с использованием режима временных меток

#jdbc #apache-kafka #apache-kafka-connect #confluent-platform

#jdbc #апачи-кафка #apache-kafka-подключение #confluent-платформа

Вопрос:

Я пишу соединитель исходного кода Kakfa JDBC для запроса между двумя датами (начальной и конечной датой) в таблице Postgres и хочу, чтобы соединитель выполнял запрос на каждый день, начиная с даты окончания и заканчивая датой начала.Возможно ли это? выберите * из таблицы, где дата находится между ‘2020-08-01′ и ending_date=’2020-10-31’

Комментарии:

1. Вы пишете свой собственный или настраиваете существующий?? Что происходит, когда вы отправляете этот запрос соединителю в данный момент?

Ответ №1:

Вы можете использовать фильтр слияния SMT, определив a filter.condition .

Пример представлен в ссылке и показан ниже:

 transforms=filterDateExample
# Use the 'io.confluent.connect.transforms.Filter$Value' as the source (record 'value') on which
# 'filter.condition' shall be applied.
transforms.filterDateExample.type=io.confluent.connect.transforms.Filter$Value
transforms.filterDateExample.filter.condition=$.key[?(@.date >= "2020-08-01" amp;amp; @.date <= "2020-10-31")]
# Use 'include' to pass through all records that match the predicate.
transforms.filterDateExample.filter.type=include
# Use the 'fail' behavior to throw an exception and fail the connector task when the record does
# not have the field(s) used in the 'filter.condition'.
transforms.filterDateExample.missing.or.null.behavior=fail
 

Похоже, что он не распознает тип даты, поэтому вы также можете заглянуть в конвертер временных меток.