【问题标题】:JDBC Sink Configuration Options batch.sizeJDBC 接收器配置选项 batch.size
【发布时间】:2020-05-05 05:26:07
【问题描述】:

来自https://docs.confluent.io/3.1.1/connect/connect-jdbc/docs/sink_config_options.html#jdbc-sink-configuration-options

Specifies how many records to attempt to batch together for insertion into the destination table, when possible.

Type: int
Default: 3000
Valid Values: [0,…]
Importance: medium

所以,这是来自 Confluent 网站。

重要性中等,默认3000。如果我想要KAFKA怎么办 即使有说,每 30 秒更改一次,也只有 27 条 KAFKA 消息 为主题?什么是默认设置,其中处理发生在 每个经过的时间?我们都知道这是可以满足的,因为我们可以运行许多示例,只需将 1 条记录从 mySQL 传递到 SQLServer,但我找不到基于时间的处理的参数值。我可以影响它吗?

https://github.com/confluentinc/kafka-connect-jdbc/issues/290 也注意到了这一点。那里有一些有趣的东西。

【问题讨论】:

    标签: jdbc apache-kafka apache-kafka-connect


    【解决方案1】:

    我认为你应该关注“尽可能”这个词

    consumer.max.poll.records 总是会从 Kafka 中获取那么多记录。轮询完成后,JDBC 接收器将根据需要构建尽可能多的批次,直到在 consumer.max.poll.interval.ms 中调用下一个消费者轮询。

    【讨论】:

    • 所以,在黄色框中,我记录了单个记录的情况。您所说的是,双方似乎都与主题相关。这是有道理的,经验观察也告诉我这一点。我不能告诉 KAFKA Connect Sink 每分钟轮询一次主题。
    • 我在第二个 URL 中注意到关于 500 个批量大小中的 449 个记录的问题。完全错误。
    • 消费者像在普通消费者循环中一样频繁地进行轮询。 Connect 不是批量消费的解决方案
    • 我们需要近乎实时的,所以我认为这很好。我们有用于数据湖、批处理模式的 spark kafka 集成。
    • 当然,GoldenGate/Debezium 是来源。一旦数据在 Kafka 中,您对这些数据的处理可能是任何事情。例如,您可以使用 Kafka Streams 将传入的 CDC 记录过滤为适合数据湖的格式,然后使用 Connect sink 以不同的方式将它们写出。那么你就不需要 Spark 集群了
    猜你喜欢
    • 2019-11-15
    • 2019-04-11
    • 1970-01-01
    • 2015-01-01
    • 2019-06-17
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多