简单复制

更新时间:
复制为 MD 格式

以下为简单复制相关治理项的处理指导。

关联治理项:DG-ST-74

对于加工流程中的上下游表,如果下游表的所有数据记录和上游表完全相同,则被视为对上游表进行了简单复制。简单复制行为会导致一张表相同的数据在两处或多处存储,从而产生多份存储费用,而这些多份存储通常是不必要的,会被视为浪费,因此需要治理。

适用数据源

  • MaxCompute

规则判断

系统通过生产环境的MaxCompute数据表血缘进行上游表识别,并针对上下游表的数据内容进行「简单复制」判断。目前,简单复制的识别规则有三种:

  1. 自依赖复制:通常为数据表的最新分区产出依赖自己历史分区数据。当表自依赖表的前一个分区的数据「原封不动」地插入当前分区中,且表的生命周期大于3天。

  2. 简单表复制:上游数据表「原封不动」地插入当前表中,且上游表的生命周期 >= 当前表,当前表生命周期大于3天。

  3. 简单延长复制: 上游数据表「原封不动」地插入当前表中,但是上游表的生命周期 < 当前表,当前表生命周期大于3天。

    说明

    「原封不动地插入」指“MaxCompute表的非分区数据【条数不变,数据量不变,字段个数不变】地插入”。也就是说,当存在上游表的分区字段在当前表丢失的情况,例如:表A是表B的上游,A存在dshh两个分区,B只有ds。此种情况不会被识别为「简单复制」。

处理指南

  • 自依赖复制:通常进行对应加工任务调整,修改或下线对应自依赖复制的调度任务,并将表生命周期缩短至3天。之前如果有对应下游使用表,需要下游使用该表的最近分区。

  • 简单复制:需要判断对上游表这种简单复制逻辑是否需要保留,如需保留,则建议以视图方式节约本表的存储,可让下游使用本表原加工逻辑产生的视图。

    • 视图化本表,以视图方式查询获取上游表数据

    • 切换下游表所在任务对当前表的使用依赖,建议直接使用新视图表,需授权对应新视图表权限给到下游表所在任务账号,便于其完成对视图表的使用。

  • 简单延长复制:同简单复制的处理逻辑,但因为原上游表生命周期较短,所以建议先延长上游表生命周期,进行分区数据保留。建议操作:

    • 增加上游表生命周期,建议大于当前表的生命周期

    • 修改本表名称,进行原表的改名备份,如无风险之后进行自动回收和删除

    • 创建和本表原名称同名的视图表(rename 表 union 上游表)

    • 授权下游表所在任务账号对本视图的读取权限

注意事项

暂无