全部產品
Search
文件中心

MaxCompute:生命週期

更新時間:Jun 19, 2024

MaxCompute表的生命週期(Lifecycle),指表(分區)資料從最後一次更新的時間算起,在經過指定的時間後沒有變動,則此表(分區)將被MaxCompute自動回收。這個指定的時間就是生命週期。通過設定生命週期可以實現自動資料清理或資料保留,降低儲存成本。

生命週期說明

  • 生命週期單位為天,取值為正整數。

  • 對於非分區表,如果表資料在生命週期內沒有被修改,經過指定天數後此表將會被MaxCompute自動回收(類似DROP TABLE操作)。生命週期從最後一次表資料被修改的時間(LastModifiedTime)開始計算。

  • 對於分區表,每個分區可以分別被回收。在生命週期內未被修改資料的分區,經過指定的天數後此分區將會被回收,否則會被保留。每個分區的生命週期是從最後一次分區資料被修改的時間(LastModifiedTime)開始計算。不同於非分區表,分區表的最後一個分區被回收後,該表不會被刪除。

    說明
    • 生命週期回收為每天定時啟動,掃描全量分區。LastModifiedTime需要超過生命週期指定的時間才會回收。

      假設某個分區表生命週期為1天,該分區資料最後一次被修改的時間是2020年02月17日15時。如果在2020年02月18日15時之前掃描此表(不到一天),則不會回收表分區。如果2020年02月19日回收掃描時發現表分區LastModifiedTime超過生命週期指定的時間,則上述分區會被回收。

    • 生命週期主要提供定期回收表或分區的功能,每天根據服務的繁忙程度,不定時回收。不能確保表或分區的生命週期到期後立刻被回收。

    • 刪除表後,表的所有屬性資訊全部會被刪除,包括生命週期。建立同名表後,表的生命週期以新設定的屬性為準。

  • 只能在表層級設定生命週期,不能在分區層級設定生命週期。為分區表指定的生命週期適用於該表的所有分區。建立表時即可指定生命週期。

  • 如果您沒有為表指定生命週期,則表(分區)不會根據生命週期規則被MaxCompute自動回收。

  • 用於執行生命週期回收資料操作的使用者是阿里雲服務:maxcompute.aliyuncs.com,您可以在Action Trail中擷取操作記錄,詳情請參見事件查詢快速入門。樣本如下:

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

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

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

相關文檔

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

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