JDBC-коннектор Kafka с MSSQL только 100 потоков - PullRequest
0 голосов
/ 20 сентября 2018

Я подключаюсь к базе данных Microsoft SQL Server, используя стандартный соединитель Confluent JDBC и драйвер JDBC от Microsoft.Для одной конкретной таблицы, независимо от того, установил ли я mode=timestamp и присвоил ли ему столбец отметки времени или просто установил mode=bulk, я получу только 100 результатов.Это никогда не течет больше, чем это.Вот то, что конец моего журнала Connect продолжает выплевывать:

[2018-09-19 12:51:51,393] INFO WorkerSourceTask{id=MES-0} Source task finished initialization and start (org.apache.kafka.connect.runtime.WorkerSourceTask:199)
[2018-09-19 12:51:51,412] INFO After filtering the tables are: "MES2ERP"."dbo"."BatchDetails" (io.confluent.connect.jdbc.source.TableMonitorThread:175)
[2018-09-19 12:51:51,412] INFO Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:868)
[2018-09-19 12:51:51,475] INFO Cluster ID: GMY7vibUSHGp5xRekGDEwg (org.apache.kafka.clients.Metadata:285)
[2018-09-19 12:52:51,069] INFO WorkerSourceTask{id=MES-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:397)
[2018-09-19 12:52:51,070] INFO WorkerSourceTask{id=MES-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:414)
[2018-09-19 12:52:51,077] INFO WorkerSourceTask{id=MES-0} Finished commitOffsets successfully in 7 ms (org.apache.kafka.connect.runtime.WorkerSourceTask:496)
[2018-09-19 12:53:51,082] INFO WorkerSourceTask{id=MES-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:397)
[2018-09-19 12:53:51,082] INFO WorkerSourceTask{id=MES-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:414)

Я понимаю, что есть batch.max.rows и по умолчанию 100, но с mode=timestamp я должен получить все строки в таблице в потоке, не останавливаться после 100. Я ожидаю, что bulk также в конечном итоге будет передавать все или, по крайней мере, повторять те же 100 каждые table.poll.interval.ms, но это не ... просто останавливается.Есть идеи, что происходит?

О, и моя таблица содержит сотни тысяч строк.

Вот моя конфигурация соединителя

name=JSON_OCN_MES-BatchDetails
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
key.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false
value.converter=org.apache.kafka.connect.json.JsonConverter
connection.url=jdbc:sqlserver://####;databaseName=####;user=####;password=####;
table.whitelist=BatchDetails
mode=bulk
validate.non.null=false
topic.prefix=JSON_OCN_MES-

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете попробовать изменить настройку по умолчанию (100) batch.max.rows в вашем коннекторе

"batch.max.rows": "1234",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...