DataWorks数据集成离线增量同步配置讲解

简介: 本篇为熟能生巧系列19期的离线增量同步讲解部分,鉴于用户咨询需求,单独成一篇,方便大家阅览

我们以MySQL数据增量同步到MaxCompute(ODPS)为例。

首先示例中我们创建了一个MySQL的数据库以及示例表demo_wpw_addsync。

该表有3列,分别存储id、name和时间戳

1.png

表内现在有一条8月8日的数据,我们需要配置增量同步规则,将这条数据同步到Max Compute中。

接下来我们进入到DataWorks数据开发界面,使用Di节点配置数据集成同步任务。

2.png

可以看到“数据来源”我们配置了刚才的MySQL数据库,“数据去向”是我们的一个ODPS实例里一张名字相同的表,列字段和MySQL保持一致。这里重点是数据过滤的条件配置,这里我们配置了col3 >=’${bizdate} 00:00:00’ 。意思就是源端数据抽取时col3这列的值要大于等于我们配置的值,col3我们存的是数据的时间戳,bizdate是我们配置的一个参数变量。

3参数配置.png

点开调度配置我们可以看到参数这栏里我们配置bizdate = ${yyyy-mm-dd+1},也就是取“业务时间+1”天,一般离线同步今天同步昨天的数据,示例中当天是8月8日,所以业务时间为8月7日,那么加一天就是8月8日了。

我们将任务提交后,可以去运维中心开发环境测试运行

4.png

右键点击节点后点测试

5.png

弹出来冒烟测试框,可以看到业务日期是8月7日,我们直接点确定新建实例运行测试


6.png

我们点击最新的实例,点击“查看日志”,可以查看执行日志

7.png

可以看到实际执行时变量bizdate解析成了8月8日


8.png

这样我们实际读取MySQL时,where条件就会解析成col3 >= ’2021-08-08 00:00:00’,也就是创建时时间戳大于8月8日0点的数据都会被读取


9.png


我们在DataWorks中可以查询ODPS表,可以看到MySQL中的这条数据已经同步过来了。当然,我们可以设置更加复杂的数据过滤条件,来满足实际使用的场景需要


10.png

比如上图中,我们在右侧“参数”配置中,定义了 bizdate、canshu2、bizdate2这三个参数,分别赋值‘${yyyy-mm-dd+1}’、‘$[hh24:mi:ss]’、‘${yyyy-mm-dd+2}’。

最终bizdate=20210808,canshu2= 00:29:00,bizdate2=20210809。这里canshu2取值是等于定时调度时间。


对调度参数不熟悉的用户,调度参数配置规则可以查看这篇文章:

https://developer.aliyun.com/article/784963


那么左侧的数据过滤条件就会解析成col3 >= ‘20210808 00:29:00’ and col3 <= ‘20210809 23:59:59’

也就是8月8日定时调度时间之后到8月9日最后一秒钟(8月10日前)的所有数据。

这里的条件依用户的使用场景定义即可。


增量同步的核心就是数据源存在一个DateTime类型的列,通过定义调度参数以及该列的过滤条件,来实现增量同步。实际任务执行时是每天一次,业务日期自动顺延,那bizdate解析出来的日期也会自动增加。


另外,实时同步的话大体都是增量同步的,需要注意的是配置一个重置位点

11.png

通常大家数据上云时会做一次全量同步后增量同步的配置,增量同步任务如果需要修改配置的话可以先暂停任务,记下任务暂停时间,然后重启任务时配置这个“重置位点”,取任务暂停时间,这样,实时同步任务会从重置位点向后同步数据,避免重复消费之前的数据。


DataWorks使用过程中有任何问题,欢迎加入我们的大群咨询:

https://developer.aliyun.com/article/740906






相关文章
|
10月前
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
261 5
|
12月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1215 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
10月前
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
1982 4
|
11月前
|
缓存 前端开发 API
(网页系统集成CAD功能)在线CAD中配置属性的使用教程
本文介绍了Mxcad SDK在线预览和编辑CAD图纸的功能及配置方法。通过Vite、CDN或Webpack实现集成,用户可自定义设置以满足项目需求。主要内容包括:1)`createMxCad()`方法的初始属性配置,如画布ID、WASM文件路径、字体加载路径等;2)`MxFun.setIniset()`方法提供的更多CAD初始配置;3)`McObject`对象API用于动态调整视图背景色、浏览模式等。此外,还提供了在线Demo(https://demo2.mxdraw3d.com:3000/mxcad/)供用户测试实时效果。
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4717 14
|
12月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
1708 0
|
12月前
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th=&quot;http://www.thymeleaf.org&quot;`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
452 0
|
12月前
|
DataWorks 关系型数据库 Serverless
DataWorks数据集成同步至Hologres能力介绍
本文由DataWorks PD王喆分享,介绍DataWorks数据集成同步至Hologres的能力。DataWorks提供低成本、高效率的全场景数据同步方案,支持离线与实时同步。通过Serverless资源组,实现灵活付费与动态扩缩容,提升隔离性和安全性。文章还详细演示了MySQL和ClickHouse整库同步至Hologres的过程。
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
490 0

相关产品

  • 大数据开发治理平台 DataWorks