kafka jdbc接收器连接器中的批量大小

sur*_*nde 3 connector apache-kafka apache-kafka-connect confluent-platform

我想通过jdbc接收器批量读取5000条记录,为此我在jdbc接收器配置文件中使用了batch.size:

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
Run Code Online (Sandbox Code Playgroud)

但是,batch.size 不起作用,因为当新记录插入源数据库时,记录也会插入数据库。

如何实现批量插入5000个?

sun*_*007 5

没有直接的解决方案可以批量接收记录,但如果可行的话,我们会尝试调整以下属性。我从未尝试过,但我对 Kafka Sink Connector 的理解只不过是一个消费者来消费来自主题的消息。

max.poll.records:单次调用 poll() 返回的最大记录数

Consumer.fetch.min.bytes:服务器应为获取请求返回的最小数据量。如果可用数据不足,请求将等待积累足够多的数据,然后再应答请求

fetch.wait.max.ms:代理将在向消费者客户端发送响应之前等待这段时间,除非它有足够的数据来填充响应(fetch.message.max.bytes)

fetch.min.bytes:代理将等待此数据量填满,然后再将响应发送到消费者客户端。