Tüm Ürünler
Search
Belge Merkezi

MaxCompute:Tablo yaşam döngüsünü yönetin

Son Güncelleme:Oct 04, 2026

Değişmemiş verileri otomatik olarak geri kazanmak için tablo yaşam döngüsünü yapılandırın. Bu sayede depolama maliyetlerini düşürürken verilerinizin güncelliğini koruyabilirsiniz.

Yaşam döngüsü

MaxCompute, verileri yapılandırılan yaşam döngüsü süresince değişmeyen tabloları veya bölümleri otomatik olarak geri kazanır. Sistem, süresi dolmuş verileri her gün tarar.

  • Bölümlenmemiş bir tablonun LastModifiedTime değeri yaşam döngüsü süresini aşarsa MaxCompute verileri geri kazanır ve tabloyu siler.

  • Bölümlenmiş tablolar için MaxCompute, LastModifiedTime değerine göre tek tek bölümleri geri kazanır. Son bölüm geri kazanıldıktan sonra bile tablo sistemde kalır.

    Son bölüm geri kazanıldıktan sonra tablonun da otomatik olarak silinmesini sağlamak için aşağıdaki yöntemlerden birini kullanın:

    Not

    Tablo düzeyindeki ayarlar, proje düzeyindeki ayarlara göre önceliklidir.

    • Proje düzeyinde ayarlar

      -- Automatically delete the table after the last partition of the table is reclaimed.
      setproject odps.table.lifecycle.deletemeta.on.expiration=true;
      
      -- Retain the table by default after the last partition is reclaimed.
      setproject odps.table.lifecycle.deletemeta.on.expiration=false;
    • Tablo düzeyinde ayarlar

      --- Create a table and configure a lifecycle-related parameter to allow the table to be automatically deleted after the last partition of the table is reclaimed.
      CREATE TABLE <Table_Name>(id int, name string)
           partitioned BY (ds string)
           tblproperties ('lifecycle.deletemeta'='true')
           lifecycle  1;
      --- If a table exists, configure a lifecycle-related parameter to allow the table to be automatically deleted after the last partition of the table is reclaimed.
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='true');
      
      -- Retain the table by default after the last partition is reclaimed.
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='false');
      

Kullanım notları

  • Görev zamanlama bağımlılıkları, yaşam döngüsü süresi dolduktan sonra verilerin geri kazanılmasını engellemez.

  • Yaşam döngüsü, bölümlenmiş tablonun tamamı için geçerlidir. Yaşam döngüsünü bölüm düzeyinde yapılandıramazsınız.

  • Geri kazanılan veriler varsayılan olarak bir gün boyunca çöp kutusunda tutulur, ardından kalıcı olarak silinir ve kurtarılamaz.

  • Yaşam döngüsü süresi dolduktan hemen sonra geri kazanma işlemi gerçekleşmeyebilir. Zamanlama, sistem kullanılabilirliğine bağlıdır.

  • Veri yazma, güncelleme veya silme işlemleri LastModifiedTime değerini günceller. Yaşam döngüsü değerini değiştirmek ise bu değeri güncellemez.

Tablo yaşam döngüsünü yapılandırın

Tablo oluşturma sırasında yaşam döngüsünü ayarlayın

  • Söz dizimi

    -- Create a table. 
     CREATE [external] TABLE [if not exists] <table_name>
     [(<col_name> <data_type> [default <default_value>] [comment <col_comment>], ...)]
     [comment <table_comment>]
     [partitioned BY (<col_name> <data_type> [comment <col_comment>], ...)]
     -- Configure the shuffle and sort properties of a clustered table that you want to create. 
     [clustered BY | range clustered BY (<col_name> [, <col_name>, ...]) [sorted BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> buckets] 
     -- Used only for external tables. 
     [stored by StorageHandler] 
     -- Used only for external tables. 
     [with serdeproperties (options)] 
     -- Used only for external tables. 
     [location <osslocation>] 
     -- Configure the lifecycle for the table.
     lifecycle <days>;
    
    -- Create a table based on an existing table and replicate the schema of the existing table. You can execute the CREATE TABLE statement to create a table based on an external table or an existing table of an external project that is used to implement the data lakehouse solution. 
    create table [if not exists] <table_name> like <existing_table_name> [lifecycle <days>];
  • Parametreler

    • table_name: zorunludur. Tablo adı.

    • days: zorunludur. Pozitif bir tamsayı olarak belirtilen yaşam döngüsü süresi. Birim: gün.

      Not

      Bu bölüm yalnızca yaşam döngüsüyle ilgili parametreleri kapsar. Tablo oluşturma parametreleri hakkında daha fazla bilgi için bkz. Tablo oluşturun.

  • Örnek

    -- Create the test_lifecycle table with the lifecycle of 100 days. 
    CREATE TABLE test_lifecycle (key string) lifecycle 100;

Mevcut bir tablonun yaşam döngüsünü yapılandırın veya değiştirin

Mevcut bir tablonun yaşam döngüsünü değiştirmek için aşağıdaki ifadeyi çalıştırın.

  • Söz dizimi

    ALTER TABLE <Table_Name> SET lifecycle <days>;
  • Parametreler

    • table_name: zorunludur. Tablo adı.

    • days: zorunludur. Pozitif bir tamsayı olarak belirtilen yeni yaşam döngüsü süresi. Birim: gün.

  • Örnek

    -- Change the lifecycle of the test_lifecycle table to 50 days. 
    ALTER TABLE test_lifecycle set lifecycle 50;

Tablo yaşam döngüsünü devre dışı bırakın veya geri yükleyin

  • Söz dizimi

    ALTER TABLE <table_name> [<pt_spec>] {enable|disable} lifecycle;
  • Parametreler

    • table_name: zorunludur. Tablo adı.

    • pt_spec: isteğe bağlıdır. Hedef bölüm. Çok düzeyli bölümler için tüm bölüm anahtarı sütunlarını partition_col1=col1_value1, partition_col2=col2_value1... biçiminde belirtin.

    • enable ve disable: bir tablo veya bölüm için yaşam döngüsünü geri yükler veya devre dışı bırakır.

      Not
      • Yaşam döngüsünü geri yüklemeden önce, istenmeyen veri geri kazanımını önlemek amacıyla yapılandırılmış yaşam döngüsü değerini doğrulayın.

      • Tablo düzeyindeki devre dışı bırakma işlemi, bölüm düzeyindeki etkinleştirme işlemini geçersiz kılar. Tablo yaşam döngüsü devre dışı bırakıldığında table disable lifecycle ifadesi pt_spec enable lifecycle ifadesini geçersiz kılar.

      • Yaşam döngüsünün devre dışı bırakılması ayarları korur. Devre dışı bırakılmış durumdayken bile yaşam döngüsü değerlerini değiştirebilirsiniz.

  • Örnekler

    • Örnek 1: trans tablosunun yaşam döngüsünü devre dışı bırakın.

      ALTER TABLE trans disable lifecycle;
    • Örnek 2: trans tablosundaki dt='20141111' bölümünün yaşam döngüsünü devre dışı bırakın.

      ALTER TABLE trans partition (dt='20141111') disable lifecycle;