このコマンドは、テーブルの自動メンテナンス構成を設定します。このコマンドは、Iceberg テーブルの自動コンパクションおよびスナップショット管理をサポートしています。
注意事項
--typeパラメーターでは、以下の 2 種類のメンテナンスタイプがサポートされています。icebergCompaction:Iceberg テーブルのデータファイルコンパクションを実行します。このプロセスにより、小さなファイルが自動的にマージされ、より大きなファイルに統合されることで、クエリパフォーマンスが向上します。icebergSnapshotManagement:Iceberg テーブルのスナップショットを管理します。このプロセスにより、期限切れのスナップショットが自動的に削除され、ストレージスペースが解放されます。
--valueパラメーターは、JSON フォーマットで構成を設定します。メンテナンスタイプによって必要な JSON 構造が異なります。JSON 文字列を直接指定するか、file://プレフィックスを使用してローカルファイルから読み込むことができます。各メンテナンスタイプごとに、このコマンドを個別に実行してください。コンパクションとスナップショット管理の両方を構成する場合は、コマンドを 2 回実行する必要があります。
コマンド構文
ossutil tables-api put-table-maintenance-configuration --table-bucket-arn value --namespace value --name value --type value --value value [flags]
パラメーター | タイプ | 説明 |
--name | 文字列 | テーブル名です。必須です。 |
--namespace | 文字列 | テーブルの名前空間です。必須です。 |
--table-bucket-arn | 文字列 | Table Bucket の ARN です。形式は |
--type | 文字列 | メンテナンス構成のタイプです。有効な値は、 |
--value | 文字列 | JSON フォーマットでのメンテナンス構成です。JSON 文字列を直接指定するか、 |
put-table-maintenance-configurationコマンドは、PutTableMaintenanceConfigurationAPI オペレーションに対応しています。API パラメーターの詳細については、「PutTableMaintenanceConfiguration」をご参照ください。サポートされているグローバルコマンドラインオプションの一覧については、「ossutil global options」をご参照ください。
使用例
ターゲットファイルサイズを 512 MB として、Iceberg テーブルの自動コンパクションを有効化します。
ossutil tables-api put-table-maintenance-configuration --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --type icebergCompaction --value '{"status":"enabled","settings":{"targetFileSizeMB":512}}'最新のスナップショットを 5 つ保持し、168 時間(7 日)以上経過したスナップショットを自動的に削除するスナップショットクリーンアップを有効化します。
ossutil tables-api put-table-maintenance-configuration --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --type icebergSnapshotManagement --value '{"status":"enabled","settings":{"minSnapshotsToKeep":5,"maxSnapshotAgeHours":168}}'file://プレフィックスを使用して、ローカルの JSON ファイルからメンテナンス構成を読み込みます。ossutil tables-api put-table-maintenance-configuration --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --type icebergCompaction --value file://compaction-config.jsonIceberg テーブルのコンパクションメンテナンス構成を無効化します。
ossutil tables-api put-table-maintenance-configuration --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --type icebergCompaction --value '{"status":"disabled"}'