数据湖探索 DLI-创建表时指定表的生命周期:表的回收规则

时间:2023-11-03 17:00:59

表的回收规则

  • 在创建表时通过TBLPROPERTIES指定表的生命周期。
    • 非分区表

      如果表是非分区表,根据每张表的最后修改时间,经过生命周期时间后判断是否要回收此表。

    • 分区表

      如果是分区表,则根据各分区的最后一次表数据被修改的时间(LAST_ACCESS_TIME)判断该分区是否该被回收。分区表的最后一个分区被回收后,该表不会被删除。

      分区表不支持设置分区级的生命周期,仅支持表级别的生命周期管理。

  • 生命周期回收为每天定时启动,扫描全量分区。

    生命周期回收为每天定时启动,扫描全量分区的最后一次表数据被修改的时间(LAST_ACCESS_TIME)需要超过生命周期指定的时间才回收。

    假设某个分区表生命周期为1天,该分区数据最后一次被修改的时间是2023年05月20日15时。如果在2023年05月20日15时之前扫描此表(不到一天),则不会回收表分区。如果2023年05月20日回收扫描时发现表分区最后一次表数据被修改的时间(LAST_ACCESS_TIME)超过生命周期指定的时间,则上述分区会被回收。

  • 生命周期主要提供定期回收表或分区的功能,每天根据服务的繁忙程度,不定时回收。不能确保表或分区的生命周期到期后,立刻被回收。
  • 删除表后,表的所有属性信息全部会删除,包括生命周期。新建同名表后,表的生命周期以新设置的属性为准。
support.huaweicloud.com/sqlref-spark-dli/dli_08_0466.html