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个?
没有直接的解决方案可以批量接收记录,但如果可行的话,我们会尝试调整以下属性。我从未尝试过,但我对 Kafka Sink Connector 的理解只不过是一个消费者来消费来自主题的消息。
max.poll.records:单次调用 poll() 返回的最大记录数
Consumer.fetch.min.bytes:服务器应为获取请求返回的最小数据量。如果可用数据不足,请求将等待积累足够多的数据,然后再应答请求
fetch.wait.max.ms:代理将在向消费者客户端发送响应之前等待这段时间,除非它有足够的数据来填充响应(fetch.message.max.bytes)
fetch.min.bytes:代理将等待此数据量填满,然后再将响应发送到消费者客户端。
| 归档时间: |
|
| 查看次数: |
7088 次 |
| 最近记录: |