更新时间:2024-12-25 GMT+08:00
分享

CLUSTERING

命令功能

对Hudi表进行clustering操作,具体作用可以参考Hudi Clustering操作说明章节。

命令格式

  • 执行clustering:

    call run_clustering(table=>'[table]', path=>'[path]', predicate=>'[predicate]', order=>'[order]');

  • 查看clustering计划:

    call show_clustering(table=>'[table]', path=>'[path]', limit=>[limit]);

参数描述

表1 参数描述

参数

描述

是否必填

table

需要查询的表的表名,支持database.tablename格式

table,path须选填其中之一

path

需要查询的表的路径

table,path须选填其中之一

predicate

需要定义的谓语句,筛选需要Clustering的分区

order

指定clustering的排序字段

limit

展示查询结果的条数

示例

call show_clustering(table => 'hudi_table1');

call run_clustering(table => 'hudi_table1', predicate => '(ts >= 1006L and ts < 1008L) or ts >= 1009L', order => 'ts');

call run_clustering(path => 'obs://bucket/path/hudi_test2', predicate => "dt = '2021-08-28'", order => 'id');

注意事项

  • table与path参数必须存在一个,否则无法判断需要执行clustering的表。
  • 使用由DLI提供的元数据服务时,本命令仅支持配置table参数,不支持配置path参数。
  • 如果需要对指定分区进行clustering,参考格式:predicate => "dt = '2023-08-28'"

系统响应

可以检查任务状态是否成功,查看任务结果,查看任务日志确认有无异常。

相关文档