gpt4 book ai didi

mysql - 将包含数据的新表包含到现有 Debezium 连接器中

转载 作者:行者123 更新时间:2023-12-04 03:50:25 26 4
gpt4 key购买 nike

客观的:
需要向现有的 Debezium MySQL 连接器版本 1.1.1.Final 添加一个新表。在使用更新的配置(table.whitelist 中的新表)重新启动连接器后,应将表中的数据填充到主题中。
问题:
没有明确的策略来添加新表,该表将在拍摄初始快照后连同其数据一起添加到 Kafka(连接器的先前版本正在工作)。我们正在为工作连接器寻找类似于 snapshot.select.statement.overrides 的东西。当快照已经创建并且连接器使用新表重新启动时,snapshot.select.statement.overrides 不起作用。
可能的解决方案:
为应使用数据初始化的表创建并运行新连接器(snapshot.mode=initial)。缺点:每个版本可能包含一个新的连接器。
或者

  • 为表创建迁移连接器(v2)(使用配置 snapshot.mode=initial 和新的 database.history.kafka.topic)
  • 快照完成后删除连接器 v2
  • 删除以前的连接器(v1)的 database.history.kafka.topic
  • 使用连接器 (v2) 中的表格更新连接器 (v1) - 将它们放入 table.whitelist
  • 将 snapshot.mode 更改为 schema_only_recovery 并启动连接器(v1)

  • 问题:
    哪种方式是官方的?也许我错过了什么,有比第二种更简单的方法吗?
    更新:
    根据@Matar 评论和一些调查,看起来不需要删除 database.history.kafka.topic 因为,在默认配置中,它无论如何都会从数据库中收集所有 DDL。

    最佳答案

    使用最新版本的 Debezium Server,您可以添加以下配置值

    debezium.snapshot.new.tables=parallel
    如果您使用的是 Debezium,您可以试试这个配置值
    snapshot.new.tables=parallel
    注意:Debeziyum Server 是一种支持 Kinesis、Google Pub sub 和 Apache Pulsar 的服务器。我正在使用它,它的配置有点不同。我必须在每个项目之前加上“debezium”
    添加此配置后,任何添加到tables.whitelist 中,Debezium 都会为这些额外的表创建快照。

    关于mysql - 将包含数据的新表包含到现有 Debezium 连接器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64490534/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com