kettle实时增量同步mysql数据

**

本文主要介绍运用kettle实时增量同步mysql数据

**

  • Debezium介绍

  • 官网地址:https://debezium.io/documentation/

  • Debezium是一个开源项目,为捕获数据更改(Capture Data Change,CDC)提供了一个低延迟的流式处理平台,通过安装配置Debezium监控数据库,可以实时消费行级别row-level))的更改。作为一个分布式系统,Debezium也拥有良好的容错性

  • Debezium支持数据源:MySQL,MongoDB,PostgreSQL,Oracle,SQL Server等

  • Debezium插件准备
    Debezium下载地址

  • 解压 kettle-step-debezium-plugin.zip

  • 拷贝kettle-step-debezium-plugin到data-integration\plugins下
    在这里插入图片描述

  • Debezium插件使用
    在这里插入图片描述

在这里插入图片描述

  • Debezium配置说明
    connector.class: io.debezium.connector.mysql.MySqlConnector //引用的连接器类
    //使用文件来存储已处理的binlog偏移量
    offset.storage: org.apache.kafka.connect.storage.FileOffsetBackingStore
    offset.storage.file.filename: C:\Users\42077\Desktop\mysql_offsets2.dat
    database.history: io.debezium.relational.history.FileDatabaseHistory
    database.history.file.filename: C:\Users\42077\Desktop\mysql_dbhistory1.txt
    offset.flush.interval.ms: 6000

    name: Debezium_CDC //连接器名字
    database.hostname: 47.100.172.180 //mysql服务器地址
    database.port: 3306 //端口号
    database.user: root //用户名
    database.password: Dragonline //密码
    database.connectionTimeZone Asia/Shanghai
    database.server.id: 1 //mysql安装配置时的服务ID(需要与MySQL的server-id不同)
    database.include.list: biplatform //要捕获的数据库名
    database.server.name: mysql-connector //数据库服务名
    table.include.list: biplatform.dim_date ///要捕获的数据表

更多信息可参考官网:https://debezium.io/documentation/reference/2.6/connectors/mysql.html

  • Debezium运行
    在这里插入图片描述

在这里插入图片描述
查看文件捕获到插入数据
在这里插入图片描述
CREATE:新增
DElETE:删除
UPDATE:修改
DDL:DDL语句

由于时间仓促,本文只作为一个demo开头,后续有机会再更新,如内容有错欢迎大家指正!!!作者个人qq:420773639

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Kettle增量更新,可以按照以下步骤进行操作: 1. 首先,需要获取目标表中的最大时间戳。可以使用表输入组件执行SQL语句,通过查询目标表的最大更新时间来获取。如果目标表为空,需要设置一个默认的起始时间戳或者先进行全量同步。 2. 接下来,使用表输入组件获取源头表中的增量数据。通过查询源头表中更新时间大于目标表最大时间戳的数据来实现。可以使用上一步获取到的最大时间戳作为查询条件,只取时间戳之后的数据。 3. 将获取到的增量数据插入或更新到目标表中。可以使用插入更新组件来实现这一步。此步骤将增量数据逐条插入或更新到目标表中。 需要注意的是,如果在插入或更新过程中出现了主键冲突,可能是因为没有进行正确的排序,导致合并记录组件里的比对数据出现重复。所以在操作时,需要确保数据的排序以避免主键冲突的问题。可以参考引用中的说明来进行具体操作。 最后,可以将增量更新操作设置为定时任务,以定期执行增量更新的过程,确保数据同步和更新。 适应数据结构具有时间戳字段和数据记录不会删除的设计思路 关于Kettle增量更新中主键冲突问题的说明<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [kettle基础入门(四)kettle增量更新](https://blog.csdn.net/youniubi/article/details/115328522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用kettle实现增量更新](https://blog.csdn.net/qq_40877166/article/details/107716595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值