大数据-数仓-数据采集-业务数据(三):增量同步采集【MySQL-(Maxwell)->Kafka-(Flume)->HDFS】【每日增量:每天只将业务数据中新增及变化的数据同步到数据仓库】

 在这里插入图片描述

在这里插入图片描述

增量同步策略

  • 解释:每日增量,就是每天只将业务数据中的新增及变化的数据同步到数据仓库中,
  • 适用表数据量大,且每天只会有新的数据插入的场景,
  • 特点采用每日增量的表,通常会在首日先进行一个全量同步。
  • 例如:退单表、订单状态表、支付流水表、订单详情表、活动与订单关联表、商品评论表

Maxwell的实现原理很简单,就是将自己伪装成Slave,并遵循Mysql主从复制的协议,从master中同步数据。

Maxwell官网地址:Maxwell's Daemon

Maxwellgithub地址:https://github.com/zendesk/maxwel

一、第1章 Maxwell介绍

1.1 Maxwell概述

1. 介绍:Maxwell是由美国Zendesk公司开源,使用Java编写的MySQL变更数据抓取软件。他会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以JSON的格式发送给Kafka、Kinesi等流数据处理平台。

1.2 Maxwell输出数据格式

插入

更新

删除

mysql> insert into gmall.student values(1,'zhangsan');

mysql> update gmall.student set name = 'lisi' where id=1;

mysql> delete from gmall.student where id =1;

{

  "database":"gmall",

  "table":"student",

  "type":"insert",

  "ts":1634004537,

  "xid":1530970,

  "commit":true,

  "data":{

    "id":1,

    "name":"zhangsan"

  }

}

{

  "database":"gmall",

  "table":"student",

  "type":"update",

  "ts":1634004657,

  "xid":1531916,

  "commit":true,

  "data":{

    "id":1,

    "name":"lisi"

  },

  "old":{

    "name":"zhangsan"

  }

}

{

  "database":"gmall",

  "table":"student",

  "type":"delete",

  "ts":1634004751,

  "xid":1532725,

  "commit":true,

  "data":{

    "id":1,

    "name":"lisi"

  }

}

字段说明:

1. database:变更数据所属的数据库

2. table:    变更数据所属的表

3. type:     数据变更类型

4. ts:       数据变更发生的时间

5. xid:      事务id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值