开启/关闭TTL
命令功能
开启或者关闭Hudi表的TTL能力。
命令格式
call ttl_configuration(table => "[table]", path => "[path]", enabled => "[enabled]", strategy => "[strategy]", value => "[value]", resolveConflictsBy => "[resolveConflictsBy]", runInline => "[runInline]")
参数描述
| 参数 | 描述 | 是否必填 |
|---|---|---|
| table | String类型,表名或者库名.表名。 | 否,table和path二选一 |
| path | String类型,表的绝对路径。 | 否,table和path二选一 |
| enabled | String类型,是否开启TTL。 | 否,false或者true,默认是false |
| strategy | String类型,TTL的触发模式。 strategy为NUM_COMMITS时,value指定的值代表每[value]个commit/deltacommit会触发一次TTL。 strategy为TIME_ELAPSED时,value指定的值代表每[value]天会触发一次TTL。 | 否,NUM_COMMITS或者TIME_ELAPSED,默认是NUM_COMMITS |
| value | String类型,TTL的触发间隔时间。 | 否,默认是10 |
| resolveConflictsBy | String类型,TTL的冲突解决策略。
| 否,MAX_TTL或者MIN_TTL,默认是MAX_TTL |
| runInline | String类型,TTL是否在写操作完成时触发。
| 否,true或者false,默认是false |
示例
- 指定表名开启TTL(每10个replacecommit触发一次TTL):
call ttl_configuration(table => "hudi_table", enabled => "true", strategy => "NUM_COMMITS", value => "10", resolveConflictsBy => "MAX_TTL", runInline => "true")
- 指定路径开启TTL(每1天触发一次TTL):
call ttl_configuration(path => "hdfs://hacluster/user/hive/warehouse/hudi_table/", enabled => "true", strategy => "TIME_ELAPSED", value => "1", resolveConflictsBy => "MIN_TTL", runInline => "true")
- 指定表名开启TTL(每次clean触发TTL):
call ttl_configuration(table => "hudi_table", enabled => "true", resolveConflictsBy => "MAX_TTL", runInline => "false")
- 关闭TTL:
call ttl_configuration(table => "hudi_table", enabled => "false")