如何利用MaxCompute Hash Clustering让数据增量更新节省资源,耗时减半
对于增量更新的场景,可以利用 MaxCompute2.0的新特性,对语句做简单改造,从而大幅提升性能,节约集群资源。
背景
在数据开发的过程中,往往会进行分层的设计,在ODS层中,一种非常常见的场景是使用一个增量表delta对一个存量表snapshot进行更新。例如snapshot表存储所有的会员信息,而增量表中包括新增会员信息和原有会员信息属性的一些修改;或者snapshot表存储最近一个月的订单信息,delta表存储了新增订单以及物流的更新等等。
对于这种任务,往往有以下几个特征
- snapshot表存储量巨大,delta表相对较小
- snapshot表和delta表拥有一致的schema
- snapshot和delta表中存在主键key,且key可能有重合(否则可以通过简单的union all来完成)
- 上一个周期的snapshot + 当前周期
