【问题标题】:Kafka JDBC connector bulk modeKafka JDBC 连接器批量模式
【发布时间】:2017-03-22 22:11:24
【问题描述】:

kafka-connect-jdbc 连接器在特定时间间隔后以批量模式连续发送相同的记录。这是我的连接器属性:

    name=test-mssql-jdbc-autoincrement
    connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
    tasks.max=1
 connection.url=jdbc:jtds:sqlserver://localhost:1433/TESTDB;user=sa;password=sa12345
    query=SELECT * FROM WF_PROCESS
    mode=bulk
    topic.prefix=TEST-
    key.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer
    value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer
    table.blacklist=trace_xe_action_map,trace_xe_event_map

【问题讨论】:

    标签: jdbc apache-kafka kafka-producer-api


    【解决方案1】:

    批量模式应该在每次调用 poll 方法时发送所有记录。使用批量模式的主要用例是定期备份数据库表。您可以通过调整 poll.interval.ms 来配置备份频率。

    为避免这种情况,请勿使用批量模式。而是使用“时间戳+递增”或“时间戳”或“递增模式”。更多详情可以参考this链接。

    【讨论】:

      【解决方案2】:

      您必须配置incremental query modes。基本上,Kafka 连接器需要一种方法来确定每次触发查询时如何获取增量数据。

      【讨论】:

      • 有没有办法在批量模式下运行时停止连接器。我想要的是在批量模式下只摄取一次记录。
      • 高延迟然后停止
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2021-09-01
      • 2020-04-09
      • 2017-10-12
      • 2018-09-14
      • 2019-06-17
      • 2020-01-11
      相关资源
      最近更新 更多