为指定表设置自动维护配置,支持Iceberg表的自动合并(Compaction)和快照管理(Snapshot Management)。
注意事项
--type参数支持以下两种维护类型:
icebergCompaction:Iceberg表数据文件合并,用于自动合并小文件以提升查询性能。icebergSnapshotManagement:Iceberg表快照管理,用于自动清理过期快照以释放存储空间。
--value参数为JSON格式的配置值,不同维护类型对应不同的配置结构。可以直接传入JSON字符串,也可以使用
file://前缀从本地文件读取配置内容。每种维护类型需要单独调用命令设置。如需同时配置合并和快照管理,需分别执行两次命令。
命令格式
ossutil tables-api put-table-maintenance-configuration --table-bucket-arn value --namespace value --name value --type value --value value [flags]
参数 | 类型 | 说明 |
--name | string | 表名称。必选参数。 |
--namespace | string | 表所属的命名空间名称。必选参数。 |
--table-bucket-arn | string | Table Bucket的ARN,格式为 |
--type | string | 维护配置类型。取值为 |
--value | string | 维护配置值,JSON格式字符串。支持直接传入JSON字符串或通过 |
put-table-maintenance-configuration命令对应API接口PutTableMaintenanceConfiguration。关于API中的具体参数含义,请参见PutTableMaintenanceConfiguration。
关于支持的全局命令行选项,请参见ossutil全局选项。
使用示例
设置Iceberg表的数据合并(Compaction)维护配置,启用自动合并并设置目标文件大小为512 MB。通过命令行直接传入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 '{"status":"enabled","settings":{"targetFileSizeMB":512}}'设置Iceberg表的快照管理(Snapshot Management)维护配置,启用自动快照清理,保留最近5个快照且最长保留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}}'通过本地文件传入配置JSON,使用
file://前缀指定配置文件路径。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.json禁用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":"disabled"}'