Размер партии в разъеме kafka jdbc для мойки - PullRequest
1 голос
/ 25 октября 2019

Я хочу прочитать только 5000 записей в пакете через приемник jdbc, для которого я использовал batch.size в файле конфигурации приемника jdbc:

name=jdbc-sink
connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
tasks.max=1
batch.size=5000
topics=postgres_users

connection.url=jdbc:postgresql://localhost:34771/postgres?user=foo&password=bar
file=test.sink.txt
auto.create=true

Но batch.size не имеетэффект, поскольку записи вставляются в базу данных, когда новые записи вставляются в исходную базу данных.

Как можно добиться, чтобы вставить в пакет 5000?

1 Ответ

1 голос
/ 25 октября 2019

Не существует прямого решения о приеме записей в пакетах, но мы даем попробовать настройку ниже свойства, если оно работает. Я никогда не пробовал, но в моем понимании Kafka Sink Connector ничего, кроме потребителя, потребляющего сообщения из темы.

max.poll.records: Максимальное количество записей, возвращаемых за один вызов poll ()

consumer.fetch.min.bytes: Минимальный объем данных, которые сервер должен вернуть для запроса выборки. Если данных недостаточно, запрос будет ожидать накопления такого количества данных, прежде чем ответить на запрос

fetch.wait.max.ms: Брокер будет ждать это количество времени ДО отправкиответ клиентскому клиенту, если только у него недостаточно данных для заполнения ответа (fetch.message.max.bytes)

fetch.min.bytes: Брокер будет ожидать эту суммуданных для заполнения ДО того, как он отправит ответ клиенту клиента.

...