RUN_TABLE_SERVICE
本章节仅适用于MRS 3.3.1-LTS及之后版本。
命令功能
对Hudi MOR表一键式执行Compaction/Clean/Archive,其中Compaction仅执行已存在的Scheudle。
单表执行表服务命令
- 命令格式
call run_table_service(table => 'table', clean_hours_retained => 'clean_hours_retained', archive_hours_retained => 'archive_hours_retained')
- 参数描述
表1 参数描述 参数
描述
是否必填
table
表名。
是
clean_policy
clean使用的执行策略。
否,默认使用时间策略。
clean_trigger_strategy
clean触发的周期。
否,默认按时间周期触发,每clean_hours_retained个小时触发1次clean。
clean_hours_retained
clean保留多长时间内的数据文件。
否,默认24小时。
clean_commits_retained
clean保留多少commits写的数据文件。
否,默认10。
archive_policy
archive使用的执行策略。
否,默认使用时间策略。
archive_hours_retained
archive保留多长时间的timeline。
否,默认24小时。
max_commit_to_keep
archive保留多少commits元数据文件的最大值。
否,默认30。
min_commit_to_keep
archive保留多少commits元数据文件的最小值。
否,默认20。
compact_inline
是否开启compact。
否,默认true。
schedule_compact_inline
开启compact后,是否只做schedule。
注意:如果需要run_table_service命令只产生compaction plan且不执行,需要设置schedule_compact_inline等于true,run_compact_inline等于false。
否,默认false。
run_compact_inline
开启compact后,是否只做run。
注意:run_table_service命令的默认行为是仅执行Hudi表中已有的compaction plan。如果需要run_table_service命令产生1个新的compaction plan并执行,需要设置schedule_compact_inline等于false,run_compact_inline等于false。
否,默认true。
compact_max_delta_commits
多少commits会触发compact。
否,默认5。
- 示例
// clean和archive按时间策略执行 call run_table_service(table => 'hudi_table', clean_hours_retained => 1, archive_hours_retained => 1) // clean和archive按commits策略执行 call run_table_service(table => 'hudi_table', clean_policy => 'KEEP_LATEST_COMMITS', clean_trigger_strategy => 'NUM_COMMITS', clean_commits_retained => 2, archive_policy => 'KEEP_META_FILES_BY_COMMITS', min_commit_to_keep => 3, max_commit_to_keep => 4);
- 系统响应
可在客户端中查看结果。
多表并行执行表服务命令
- 命令格式
call run_table_service(tables => 'table1;table2;table3', cleanNums => 'clean_commits_retained', archiveNums=> 'archive_commits_retained')
- 参数描述
表2 参数描述 参数
描述
是否必填
tables
待执行表服务的表名列表。
多个表名以“;”分隔。
是
cleanNums
clean保留commits次数。
否
archiveNums
archive保留commits次数。
否,如果配置该项,该值必须大于cleanNums配置项。
- 示例
// clean和archive按时间策略执行 call run_table_service(tables => 'tb1;tb2;tb3', cleanNums => 10, archiveNums => 12)
- 系统响应
可在客户端中查看结果。