全部產品
Search
文件中心

MaxCompute:生命週期

更新時間:Mar 03, 2026

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

  • 操作記錄

    可以在Action Trail服務中擷取相關操作記錄,詳情請參見事件查詢快速入門。例如,可看到類似“表bettergithubanalytics.test_lifecycle依據生命週期被MaxCompute自動回收”的記錄。

    非分區表自動回收

    bettergithubanalytics.test_lifecycle依據生命週期被MaxCompute自動回收,可看到如下記錄。刪除表基本資料事件詳情

    分區表自動回收分區

    bettergithubanalytics.sale_detail的分區sale_date=2013/region=china依據生命週期被MaxCompute自動回收,可看到如下記錄。刪除分區刪除分區事件詳情

相關文檔

  • 關於建表時如何指定、修改表生命週期、修改表LastModifiedTime等操作,請參見表操作

  • 更多關於生命週期的操作,例如對已有表或建立表設定生命週期、禁止或恢複生命週期操作,請參見生命週期操作

  • 表分區的回收操作記錄也支援使用DataWorks的資料地圖功能查看,詳情請參見資料地圖概述。其顯示操作人帳號為MaxCompute系統帳號odps_user@aliyun.com,即名稱為maxcompute.aliyuncs.com的阿里雲服務。資料地圖查看