MaxCompute には、データのライフサイクル管理機能が搭載されているので、ストレージスペースのリリースを簡単に行うことができます。また、データのリカバリ処理が簡素化されます。

テーブルのライフサイクルの変更

SQL 文の形式
ALTER TABLE table_name SET lifecycle days;
  • パラメーター 'days' は、ライフサイクルの完了に必要な時間を示します。 正の整数で、単位は '日' です。
  • テーブル 'table_name' が非パーティションテーブルの場合、 最終更新日から計算して、N 日経過してもデータが 変更されない場合は、ユーザーの介入がなくても、テーブルは自動的にリサイクルされます ('dropTable' 操作と同様)。
  • MaxCompute では、テーブル内のデータが変更されると、LastDataModifiedTime が更新されます。 LastDataModifiedTime とライフサイクルの設定に基づいて、このテーブルをリサイクルするかどうかが判断されます。
  • テーブル ’table_name’ がパーティションテーブルの場合、 各パーティションの LastDataModifiedTime に従って、テーブルをリサイクルするかどうかが判断されます。
  • 非パーティションテーブルとは異なり、パーティションテーブルの最後のパーティションがリサイクルされても、テーブルは削除されません。
  • ライフサイクルはテーブルに対して設定できますが、パーティションに対しては設定できません。
  • ライフサイクルは、テーブル作成時に指定できます。
例:
create table test_lifecycle(key string) lifecycle 100;
 -- Create a new table test_lifecycle and the lifecycle is 100 days.
 alter table test_lifecycle set lifecycle 50;
 -- Alter the lifecycle for the table test_lifecycle and set it to be 50 days.

テーブルのライフサイクルの無効化

特定のパーティション内のデータは、ライフサイクル機能によるリサイクルを必要としない場合があります。 たとえば、月初めのデータや、中国の独身の日期間中のデータが、これに当てはまります。 特定のパーティションを使用することで、ライフサイクルを無効にできます。

SQL 文の形式
ALTER TABLE table_name partition_spec ENABLE|DISABLE LIFECYCLE;
例は次のとおりです。
ALTER TABLE trans PARTITION(dt='20141111') DISABLE LIFECYCLE;