All Products
Search
Document Center

MaxCompute:Operasi lifecycle

Last Updated:Jun 16, 2026

Berdasarkan kebutuhan bisnis dan frekuensi penggunaan data, Anda dapat mengatur lifecycle tabel untuk mengaktifkan reclaim data secara otomatis. Pengaturan lifecycle yang tepat memungkinkan Anda mengelola periode penyimpanan data secara fleksibel, memastikan ketepatan waktu dan validitas data, sekaligus mengoptimalkan penggunaan sumber daya dan biaya.

Siklus Hidup

Lifecycle (siklus hidup) tabel MaxCompute mengacu pada periode waktu tertentu yang dihitung sejak waktu terakhir data tabel (partisi) diperbarui. Jika dalam periode tersebut tidak terjadi perubahan, tabel (partisi) tersebut akan secara otomatis direclaim oleh MaxCompute. Proses reclaim lifecycle dijalankan setiap hari secara terjadwal dan memindai seluruh partisi.

  • Untuk tabel non-partisi, ketika LastModifiedTime melebihi durasi lifecycle yang ditetapkan, MaxCompute akan mereclaim data tersebut dan menghapus tabel yang bersangkutan.

  • Untuk tabel partisi, MaxCompute mengevaluasi masing-masing partisi berdasarkan LastModifiedTime-nya untuk menentukan apakah partisi tersebut perlu direclaim. Setelah partisi terakhir direclaim, tabel tersebut tidak akan dihapus.

    Jika Anda ingin tabel tersebut secara otomatis dihapus setelah partisi terakhir direclaim, Anda dapat mengaktifkan pengaturan berikut dengan dua cara:

    Catatan

    Jika terjadi konflik antara pengaturan tingkat Proyek dan tingkat tabel, pengaturan tingkat tabel akan diprioritaskan.

    • Tingkat Proyek

      -- Hapus tabel secara otomatis setelah partisi terakhir direclaim
      setproject odps.table.lifecycle.deletemeta.on.expiration=true;
      
      -- Pertahankan tabel secara default setelah partisi terakhir direclaim
      setproject odps.table.lifecycle.deletemeta.on.expiration=false;
    • Tingkat tabel

      --- Buat tabel baru: aktifkan penghapusan otomatis setelah partisi terakhir direclaim
      CREATE TABLE <Table_Name>(id int, name string)
           partitioned BY (ds string)
           tblproperties ('lifecycle.deletemeta'='true')
           lifecycle  1;
      --- Tabel yang sudah ada: aktifkan penghapusan otomatis setelah partisi terakhir direclaim
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='true');
      
      -- Pertahankan tabel secara default setelah partisi terakhir direclaim
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='false');
      

Perintah operasi lifecycle adalah sebagai berikut.

Tipe

Fungsi

Peran

Titik Masuk Operasi

Setel lifecycle

Anda dapat mengatur lifecycle saat membuat tabel, atau mengatur/mengubah durasi lifecycle pada tabel yang sudah ada.

Pengguna yang memiliki izin Alter pada tabel

Perintah dalam dokumen ini dapat dijalankan melalui platform alat berikut:

Nonaktifkan atau aktifkan kembali lifecycle

Nonaktifkan atau aktifkan kembali lifecycle untuk tabel atau partisi tertentu.

Catatan Penting

  • Dependency penjadwalan tugas tidak memengaruhi reclaim data berdasarkan lifecycle.

  • Saat mengatur lifecycle untuk tabel partisi, pengaturan tersebut berlaku untuk seluruh tabel beserta semua partisinya. Pengaturan atau modifikasi durasi lifecycle secara individual pada tingkat partisi tidak didukung.

  • Setelah data direclaim, data tersebut disimpan di Recycle Bin selama satu hari secara default. Setelah satu hari, data akan dihapus secara permanen dan tidak dapat dipulihkan.

  • Lifecycle terutama menyediakan fungsi reclaim berkala untuk tabel atau partisi. Proses reclaim dijalankan setiap hari secara tidak tetap, tergantung beban layanan. Oleh karena itu, tidak dapat dijamin bahwa tabel atau partisi akan langsung direclaim segera setelah masa lifecycle-nya berakhir.

  • Operasi penulisan, pembaruan, dan penghapusan data akan memperbarui LastModifiedTime; sedangkan modifikasi lifecycle tidak memengaruhi LastModifiedTime.

  • Jika tabel atau partisi menghilang secara tak terduga, gunakan metode berikut untuk memeriksa apakah penyebabnya adalah reclaim lifecycle:

    1. Pada halaman SQL Analysis di Konsol MaxCompute, jalankan perintah desc extended <project_name>.<table_name>;. Periksa properti Lifecycle dan timestamp LastModifiedTime pada output. Jika selang waktu sejak LastModifiedTime lebih besar dari jumlah hari yang ditentukan dalam Lifecycle, berarti tabel tersebut telah direclaim oleh kebijakan lifecycle.

    2. Anda juga dapat mengonfirmasi reclaim tersebut menggunakan ActionTrail. Masuk ke Konsol ActionTrail. Pada halaman Event history, filter event berdasarkan nama layanan cloud MaxCompute. Cari catatan operasi dengan nama event DropTable dan principal maxcompute.aliyuncs.com. Jika catatan tersebut ada, ini menunjukkan bahwa tabel tersebut dihapus secara otomatis oleh mekanisme reclaim lifecycle sistem. Untuk informasi lebih lanjut tentang penggunaan ActionTrail, lihat log audit.

Setel lifecycle

Buat tabel

  • Format perintah

    -- Buat tabel baru.
     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>], ...)]
     -- Untuk mengatur properti Shuffle dan Sort saat membuat clustered table.
     [clustered BY | range clustered BY (<col_name> [, <col_name>, ...]) [sorted BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> buckets] 
     -- Hanya untuk external table.
     [stored by StorageHandler] 
     -- Hanya untuk external table.
     [with serdeproperties (options)] 
     -- Hanya untuk external table.
     [location <osslocation>] 
     -- lifecycle
     lifecycle <days>;
    
    -- Buat tabel baru dengan struktur yang sama seperti tabel yang sudah ada tanpa menyalin data, mendukung external table dan tabel dalam proyek eksternal Lakehouse.
    create table [if not exists] <table_name> like <existing_table_name> [lifecycle <days>];
  • Penjelasan parameter

    • table_name: Wajib diisi. Nama tabel yang akan diatur lifecycle-nya.

    • days: Wajib diisi. Durasi lifecycle setelah dimodifikasi, hanya boleh berupa bilangan bulat positif, dalam satuan hari.

      Catatan

      Bagian ini hanya menjelaskan parameter yang terkait dengan pengaturan lifecycle. Untuk penjelasan lengkap parameter pembuatan tabel lainnya, lihat Buat tabel.

  • Contoh penggunaan

    -- Buat tabel test_lifecycle baru dengan lifecycle 100 hari.
    CREATE TABLE test_lifecycle (key string) lifecycle 100;

Tabel yang sudah ada

Anda dapat mengatur atau mengubah durasi lifecycle pada tabel yang sudah ada dengan cara berikut.

  • Format perintah

    ALTER TABLE <Table_Name> SET lifecycle <days>;
  • Penjelasan parameter

    • table_name: Wajib diisi. Nama tabel yang lifecycle-nya akan diubah.

    • days: Wajib diisi. Durasi lifecycle setelah dimodifikasi, hanya boleh berupa bilangan bulat positif, dalam satuan hari.

  • Contoh penggunaan

    -- Ubah tabel test_lifecycle, atur lifecycle menjadi 50 hari.
    ALTER TABLE test_lifecycle set lifecycle 50;

Nonaktifkan atau aktifkan kembali lifecycle

  • Format perintah

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

    • table_name: Wajib diisi. Nama tabel yang lifecycle-nya akan dinonaktifkan atau diaktifkan kembali.

    • pt_spec: Opsional. Informasi partisi tabel yang lifecycle-nya akan dinonaktifkan atau diaktifkan kembali. Untuk tabel dengan partisi multi-level, Anda harus menentukan semua nilai partisi. Formatnya adalah partition_col1=col1_value1, partition_col2=col2_value1....

    • enable dan disable: Aktifkan kembali atau nonaktifkan fitur lifecycle untuk tabel (partisi).

      Catatan
      • Saat mengaktifkan kembali lifecycle untuk tabel atau partisi, durasi lifecycle yang sebelumnya telah diatur akan diterapkan secara default. Pastikan durasi tersebut sesuai sebelum mengaktifkan kembali, agar data tidak direclaim akibat konfigurasi lama yang tidak diinginkan.

      • Menonaktifkan lifecycle pada tingkat tabel memiliki prioritas lebih tinggi daripada mengaktifkan kembali lifecycle pada tingkat partisi. Misalnya, jika table disable lifecycle telah diatur, maka pengaturan pt_spec enable lifecycle tidak akan berlaku.

      • Meskipun fitur lifecycle dinonaktifkan, MaxCompute tetap menyimpan konfigurasi lifecycle yang sebelumnya diatur dan memungkinkan Anda memodifikasinya kapan saja.

  • Contoh penggunaan

    • Contoh 1: Nonaktifkan fitur lifecycle untuk tabel trans.

      ALTER TABLE trans disable lifecycle;
    • Contoh 2: Nonaktifkan fitur lifecycle untuk partisi dengan tanggal 20141111 pada tabel trans.

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