MaxCompute 实现增量数据推送(全量比对增量逻辑)

简介: MaxCompute(ODPS2.0) - 试用新的集合操作命令 EXCEPT & 增量识别

ODPS 2.0 支持了很多新的集合命令(专有云升级到3版本后陆续支持),简化了日常工作中求集合操作的繁琐程度(www.way1.cn)。增加的SQL语法包括:UNOIN ALL、UNION DISTINCT并集,INTERSECT ALL、INTERSECT

DISTINCT交集,EXCEPT ALL、EXCEPT DISTINCT补集。

语法格式如下:

用途:分别求两个数据集的并集、交集以及求第二个数据集在第一个数据集中的补集。

参数说明:

• UNION: 求两个数据集的并集,即将两个数据集合并成一个数据集。

• INTERSECT:求两个数据集的交集。即输出两个数据集均包含的记录。

• EXCEPT: 求第二个数据集在第一个数据集中的补集。即输出第一个数据集包含而第二个数据集不

包含的记录。

• MINUS: 等同于EXCEPT。

实际项目中有一个利用两日全量数据,比对出增量的需求(推送全量数据速度很慢,ADB/DRDS等产品数据量超过1亿,建议试用增量同步)。我按照旧的JOIN方法和新的集合方法做了下比对验证,试用了下新的集合命令EXCEPT ALL。

测试

性能

集合的方法比JOIN的方法,在资源(1倍)使用和时间(1倍)上都有较多的劣势。建议实际使用JOIN方法。

结果

通过多种方法比对验证,两种方法的增量识别均正确,可以向下游提供增量数据。

作者:暮角

本文为阿里云原创内容,未经允许不得转载。

主营产品:自动上料混凝土搅拌车,自动上料混凝土搅拌运输车,小型混凝土搅拌罐车,小履带车,小挖机,打桩机