Tapdata 技术博客
Tapdata 技术博客

如何基于 Tapdata 社区版,构建并运行一个 MySQ => PG 的支持 DDL 同步任务 | Tapdata

2022-09-23 17:58 Tapdata

Tapdata Community(社区版),即 Tapdata Live Data Platform (Community Edition) ,是 Tapdata 面向社区开发者和用户提供的开源版本,目前处于 beta 状态。Tapdata Community 拥有企业版的绝大部分核心功能, 支持用代码而非 SQL 来处理数据。核心覆盖的场景包括:实时数据同步、开发和 Fluent ETL,具备全量和增量复制,异构数据库间的同步与转换,表级同步以及任务监控等能力。预计下个版本将新增实时数据校验、增量数据校验、自定义函数与聚合算子场景支持,同时将数据源补充到 50 个以上。


本教程章节将具体介绍,如何基于 Tapdata Community,构建并运行一个 MySQ => PG 的支持 DDL 同步任务。(点击这里查看更多技术教程与资源




*任务说明:从 MySQL 到 PG 的 DDL 同步,对象是第一个任务中用到的 car 表。


  1. 新建表同步任务,配置支持 DDL 并运行

      p = Pipeline('mysql=>pg_with_ddl')p.readFrom(mysql.car_ddl, ddl=True).writeTo(pg.car_ddl)p.start()

*补充说明:DDL 任务是默认不开启的,如果想要同步 DDL,可以通过执行 ddl=True 打开。

  1. 监听实时状态:monitor job mongo=>mysql

  1. 查看运行日志:logs job mongo=>mysql

  1. 查看建表情况

  1. 源端进行多次 DDL,查看目标是否同步:

    1. 源字段类型调整

    2. 源字段重命名

    3. 新增 / 删除字段

*任务完成情况:实现实时同步,延迟一般也会在几百毫秒以内。


至此,我们的整个系统中就同时有如上三个任务在跑,我们可以随时:

  • 通过 logs job + 任务名来查看任务运行状况;

  • 通过 monitor job + 任务名来查看该任务的运行指标信息,包括 input/output/update 的数据量等;

  • 通过show/use 来查看表信息、表结构


SEO尾巴.jpeg

Tapdata Live Data Platform 是一个自带 ETL 的实时数据平台,通过把企业核心数据实时集中到中央化数据平台的方式并通过 API 或者反向同步方式,为下游的交互式应用,微服务或交互式分析提供新鲜实时的数据。申请试用


Tapdata 工作机制


推荐阅读