MaxCompute表的生命周期(Lifecycle),指表(分区)数据从最后一次更新的时间算起,在经过指定的时间后没有变动,则此表(分区)将被MaxCompute自动回收。这个指定的时间就是生命周期。通过设置生命周期可以实现自动数据清理或数据保留,降低存储成本。
基本定义与作用
单位与取值:生命周期以“天”为单位,取值为正整数。
功能:提供定期自动回收表或分区的功能。
回收规则
计时起点:生命周期的计算从表或分区的最后一次数据修改时间(
LastModifiedTime)开始。触发条件:
LastModifiedTime需要超过生命周期指定的时间才会回收。即(当前时间 - LastModifiedTime) > 生命周期天数时,表或分区才会被纳入回收范围。执行机制:
回收操作由系统每天定时启动,扫描全量表和分区。实际回收时间取决于服务的繁忙程度,不保证在到期后立刻执行。数据生命周期达到删除时间点后,数据会在24小时内被删除。
示例:
假设某个分区表生命周期为1天,该分区数据最后一次被修改的时间是
2026年02月17日15时。如果在2026年02月18日15时之前扫描此表(不到一天),则不会回收表分区。如果2026年02月19日扫描时发现表分区LastModifiedTime超过生命周期指定的时间,则上述分区会被回收。
不同表类型的适用规则
非分区表
生命周期作用于整张表。
创建表时即可指定生命周期,如果没有为表指定生命周期,则表(分区)不会根据生命周期规则被MaxCompute自动回收。
如果表数据在生命周期内没有被修改,经过指定天数后整张表将会被MaxCompute自动回收(类似DROP TABLE操作)。
删除表后,表的所有属性信息全部会被删除,包括生命周期。新建同名表后,表的生命周期以新设置的属性为准。
分区表
生命周期作用于每个独立的分区。但是只能在表级别设置生命周期,不能在分区级别设置生命周期。为分区表指定的生命周期适用于该表的所有分区。
创建表时即可指定生命周期,如果没有为表指定生命周期,则分区不会根据生命周期规则被MaxCompute自动回收。
在生命周期内未被修改的分区会被单独回收。
不同于非分区表,分区表的最后一个分区被回收后,该表不会被删除。
删除表后,表的所有属性信息全部会被删除,包括生命周期。新建同名表后,表的生命周期以新设置的属性为准。
审计与监控
执行主体:
执行生命周期回收数据操作的用户是阿里云服务账号:
maxcompute.aliyuncs.com。操作记录:
可以在操作审计服务中获取相关操作记录,详情请参见事件查询快速入门。例如,可看到类似“表
bettergithubanalytics.test_lifecycle依据生命周期被MaxCompute自动回收”的记录。非分区表自动回收
表
bettergithubanalytics.test_lifecycle依据生命周期被MaxCompute自动回收,可看到如下记录。

分区表自动回收分区
表
bettergithubanalytics.sale_detail的分区sale_date=2013/region=china依据生命周期被MaxCompute自动回收,可看到如下记录。

