03 hudi spark sql 客户端命令大全

  •  01 hudi 1.0.1源码编译(常见问题处理)
  • 02 hudi 命令大全
  • 03 hudi spark sql 客户端命令大全

 

目录

1. SQL 存储过程

1.1. 用法

1.1.1. 命名参数

1.1.2. 位置参数

1.2. 帮助

2. 提交管理

2.1. show_commits

2.2. show_commits_metadata

2.3. show_commit_extra_metadata

2.4. show_archived_commits

2.5. show_archived_commits_metadata

2.6. show_archived_commits

2.7. show_archived_commits_metadata

2.8. show_commit_files

2.9. show_commit_partitions

2.10. show_commit_write_stats

2.11. show_rollbacks

2.12. show_rollback_detail

2.13. commits_compare

2.14. archive_commits

2.15. export_instants

2.16. rollback_to_instant

2.17. create_savepoint

2.18. show_savepoints

2.19. delete_savepoint

2.20. rollback_to_savepoint

2.21. copy_to_temp_view

2.22. copy_to_table

3. 元数据表管理(Metadata Table management)

3.1. create_metadata_table

3.2. init_metadata_table

3.3. delete_metadata_table

3.4. show_metadata_table_partitions

3.5. show_metadata_table_files

3.6. show_metadata_table_stats

3.7. validate_metadata_table_files

4. 表信息管理(Table Information)

4.1. show_table_properties

4.2. show_fs_path_detail

4.3. stats_file_sizes

4.4. stats_wa

4.5. show_logfile_records

4.6. show_logfile_metadata

4.7. show_invalid_parquet

4.8. show_fsview_all

4.9. show_fsview_latest

5. 表服务(Table Services)

5.1. run_clustering

5.2. show_clustering

5.3. run_compaction

5.4. show_compaction

5.5. run_clean

5.6. delete_marker

5.7. hive_sync

5.8. hdfs_parquet_import

5.9. repair_add_partition_meta

5.10. repair_corrupted_clean_files

5.11. repair_deduplicate

5.12. repair_migrate_partition_meta

5.13. repair_overwrite_hoodie_props

6. 引导(Bootstrap)

6.1. run_bootstrap

6.2. show_bootstrap_mapping

6.3. show_bootstrap_partitions

7. 版本管理(Version Management)

7.1. upgrade_table

7.2. downgrade_table


1. SQL 存储过程

在使用 Hudi SparkSQL 扩展的所有 Spark 版本中,存储过程是可用的。

1.1. 用法

CALL 支持通过名称(推荐)或位置传递参数。也支持混合使用位置和命名参数。

1.1.1. 命名参数

所有过程参数都有名称。当按名称传递参数时,参数可以按任意顺序排列,并且任何可选参数都可以省略。

sql

CALL system.procedure_name(arg_name_2 => arg_2, arg_name_1 => arg_1, ... arg_name_n => arg_n);

1.1.2. 位置参数

当按位置传递参数时,如果参数是可选的,也可以省略这些参数。

sql

CALL system.procedure_name(arg_1, arg_2, ... arg_n);

注意:这里的“system”没有实际意义,完整的过程名称是 system.procedure_name

1.2. 帮助

显示过程的参数和输出类型。

输入

参数名称

类型

必须

默认值

描述

cmd

String

N

None

过程的名称

输出

输出名称

类型

result

String

示例

sql

CALL help(cmd => 'show_commits');

结果

参数:

  • param: type_name default_value required
  • table: string None true
  • limit: integer 10 false

输出类型:

  • name: type_name nullable metadata
  • commit_time: string true {}
  • action: string true {}
  • total_bytes_written: long true {}
  • total_files_added: long true {}
  • total_files_updated: long true {}
  • total_partitions_written: long true {}
  • total_records_written: long true {}
  • total_update_records_written: long true {}
  • total_errors: long true {}

2. 提交管理

2.1. show_commits

显示提交的信息。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

输出

输出名称

类型

commit_time

String

total_bytes_written

Long

total_files_added

Long

total_files_updated

Long

total_partitions_written

Long

total_records_written

Long

total_update_records_written

Long

total_errors

Long

示例

sql
# 注意此处的 test_hudi_table 为 同步到hive的外部表名,而非hudi本表
CALL show_commits(table => 'test_hudi_table', limit => 10);

2.2. show_commits_metadata

显示提交的元数据。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

输出

输出名称

类型

commit_time

String

action

String

partition

String

file_id

String

previous_commit

String

num_writes

Long

num_inserts

Long

num_deletes

Long

num_update_writes

String

total_errors

Long

total_log_blocks

Long

total_corrupt_logblocks

Long

total_rollback_blocks

Long

total_log_records

Long

total_updated_records_compacted

Long

total_bytes_written

Long

示例

sql

CALL show_commits_metadata(table => 'test_hudi_table');

2.3. show_commit_extra_metadata

显示提交的额外元数据。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

instant_time

String

N

None

时间戳

metadata_key

String

N

None

元数据的键

输出

输出名称

类型

instant_time

String

action

String

metadata_key

String

metadata_value

String

示例

sql

CALL show_commit_extra_metadata(table => 'test_hudi_table');

2.4. show_archived_commits

显示已归档的提交。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

start_ts

String

N

""

提交的开始时间,默认:现在 - 10天

end_ts

String

N

""

提交的结束时间,默认:现在 - 1天

输出

输出名称

类型

commit_time

String

total_bytes_written

Long

total_files_added

Long

total_files_updated

Long

total_partitions_written

Long

total_records_written

Long

total_update_records_written

Long

total_errors

Long

示例

sql

CALL show_archived_commits(table => 'test_hudi_table');

2.5. show_archived_commits_metadata

显示已归档提交的元数据。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

start_ts

String

N

""

提交的开始时间,默认:现在 - 10天

end_ts

String

N

""

提交的结束时间,默认:现在 - 1天

输出

输出名称

类型

commit_time

String

action

String

partition

String

file_id

String

previous_commit

String

num_writes

Long

num_inserts

Long

num_deletes

Long

num_update_writes

String

total_errors

Long

total_log_blocks

Long

total_corrupt_logblocks

Long

total_rollback_blocks

Long

total_log_records

Long

total_updated_records_compacted

Long

total_bytes_written

Long

示例

sql

CALL show_archived_commits_metadata(table => 'test_hudi_table');

2.6. show_archived_commits

显示已归档的提交。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

start_ts

String

N

""

提交的开始时间,默认:现在 - 10天

end_ts

String

N

""

提交的结束时间,默认:现在 - 1天

输出

输出名称

类型

commit_time

String

total_bytes_written

Long

total_files_added

Long

total_files_updated

Long

total_partitions_written

Long

total_records_written

Long

total_update_records_written

Long

total_errors

Long

示例

sql

CALL show_archived_commits(table => 'test_hudi_table');

2.7. show_archived_commits_metadata

显示已归档提交的元数据。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

start_ts

String

N

""

提交的开始时间,默认:现在 - 10天

end_ts

String

N

""

提交的结束时间,默认:现在 - 1天

输出

输出名称

类型

commit_time

String

action

String

partition

String

file_id

String

previous_commit

String

num_writes

Long

num_inserts

Long

num_deletes

Long

num_update_writes

String

total_errors

Long

total_log_blocks

Long

total_corrupt_logblocks

Long

total_rollback_blocks

Long

total_log_records

Long

total_updated_records_compacted

Long

total_bytes_written

Long

示例

sql

CALL show_archived_commits_metadata(table => 'test_hudi_table');

2.8. show_commit_files

显示提交的文件。

输入

参数名称

类型

必须

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的记录最大数量

instant_time

String

Y

None

时间戳

输出

输出名称

类型

action

String

partition_path

String

file_id

String

previous_commit

String

total_records_updated

Long

total_records_written

Long

total_bytes_written

Long

total_errors

Long

示例

sql

CALL show_commit_files(table => 'test_hudi_table', instant_time => '20230206174349556');

2.9. show_commit_partitions

显示提交的分区信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的最大记录数

instant_time

String

Y

None

事务时间点

输出字段

输出名称

类型

action

String

partition_path

String

total_files_added

Long

total_files_updated

Long

total_records_inserted

Long

total_records_updated

Long

total_bytes_written

Long

total_errors

Long

示例

call show_commit_partitions(table => 'test_hudi_table', instant_time => '20230206174349556');

2.10. show_commit_write_stats

显示提交的写入统计信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的最大记录数

instant_time

String

Y

None

事务时间点

输出字段

输出名称

类型

action

String

total_bytes_written

Long

total_records_written

Long

avg_record_size

Long

示例

call show_commit_write_stats(table => 'test_hudi_table', instant_time => '20230206174349556');

2.11. show_rollbacks

显示回滚的提交记录。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

instant

String

rollback_instant

String

total_files_deleted

Int

time_taken_in_millis

Long

total_partitions

Int

示例

call show_rollbacks(table => 'test_hudi_table');

2.12. show_rollback_detail

显示回滚提交的详细信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的最大记录数

instant_time

String

Y

None

事务时间点

输出字段

输出名称

类型

instant

String

rollback_instant

String

partition

String

deleted_file

String

succeeded

Int

示例

call show_rollback_detail(table => 'test_hudi_table', instant_time => '20230206174349556');

2.13. commits_compare

比较提交记录与另一个路径的差异。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

path

String

Y

None

表的路径

输出字段

输出名称

类型

compare_detail

String

示例

call commits_compare(table => 'test_hudi_table', path => 'hdfs://ns1/hive/warehouse/hudi.db/test_hudi_table');

2.14. archive_commits

归档提交记录。

输入参数

参数名称

类型

必填

默认值

描述

table

String

N

None

Hudi 表名

path

String

N

None

表的路径

min_commits

Int

N

20

保留的最小事务数量

max_commits

Int

N

30

保留的最大事务数量

retain_commits

Int

N

10

归档批量大小

enable_metadata

Boolean

N

false

是否启用元数据表

输出字段

输出名称

类型

result

Int

示例

call archive_commits(table => 'test_hudi_table');

2.15. export_instants

导出事务记录到本地文件夹。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

local_folder

String

Y

None

本地文件夹路径

limit

Int

N

-1

导出的事务记录数

actions

String

N

clean,commit,deltacommit,rollback,savepoint,restore

事务类型

desc

Boolean

N

false

是否降序排列

输出字段

输出名称

类型

export_detail

String

示例

call export_instants(table => 'test_hudi_table', local_folder => '/tmp/folder');

2.16. rollback_to_instant

回滚表到指定的提交点。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

rollback_result

Boolean

示例

call rollback_to_instant(table => 'test_hudi_table', instant_time => '20220109225319449');

2.17. create_savepoint

在 Hudi 表上创建保存点。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

commit_time

String

Y

None

提交时间

user

String

N

""

用户名

comments

String

N

""

备注

输出字段

输出名称

类型

create_savepoint_result

Boolean

示例

call create_savepoint(table => 'test_hudi_table', commit_time => '20220109225319449');

2.18. show_savepoints

显示保存点。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

savepoint_time

String

示例

call show_savepoints(table => 'test_hudi_table');

2.19. delete_savepoint

删除 Hudi 表中的保存点。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

instant_time

String

Y

None

事务时间点

输出字段

输出名称

类型

delete_savepoint_result

Boolean

示例

call delete_savepoint(table => 'test_hudi_table', instant_time => '20220109225319449');

2.20. rollback_to_savepoint

将表回滚到某个保存点的提交状态。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

instant_time

String

Y

None

事务时间点

输出字段

输出名称

类型

rollback_savepoint_result

Boolean

示例

call rollback_to_savepoint(table => 'test_hudi_table', instant_time => '20220109225319449');

2.21. copy_to_temp_view

将表复制到临时视图。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

query_type

String

N

"snapshot"

读取数据模式:增量模式(incremental)、优化读取模式(read_optimized)或快照模式(snapshot)

view_name

String

Y

None

视图名称

begin_instance_time

String

N

""

开始时间点

end_instance_time

String

N

""

结束时间点

as_of_instant

String

N

""

具体时间点

replace

Boolean

N

false

是否替换已存在的视图

global

Boolean

N

false

是否创建全局视图

输出字段

输出名称

类型

status

Boolean

示例

call copy_to_temp_view(table => 'test_hudi_table', view_name => 'copy_view_test_hudi_table');

2.22. copy_to_table

将表复制到新表。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

query_type

String

N

"snapshot"

读取数据模式:增量模式(incremental)、优化读取模式(read_optimized)或快照模式(snapshot)

new_table

String

Y

None

新表名称

begin_instance_time

String

N

""

开始时间点

end_instance_time

String

N

""

结束时间点

as_of_instant

String

N

""

具体时间点

save_mode

String

N

"overwrite"

保存模式

columns

String

N

""

需要复制到新表的源表列

输出字段

输出名称

类型

status

Boolean

示例

call copy_to_table(table => 'test_hudi_table', new_table => 'copy_table_test_hudi_table');

3. 元数据表管理(Metadata Table management)

3.1. create_metadata_table

创建 Hudi 表的元数据表。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

result

String

示例

call create_metadata_table(table => 'test_hudi_table');

3.2. init_metadata_table

初始化 Hudi 表的元数据表。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

read_only

Boolean

N

false

是否为只读

输出字段

输出名称

类型

result

String

示例

call init_metadata_table(table => 'test_hudi_table');

3.3. delete_metadata_table

删除 Hudi 表的元数据表。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

result

String

示例

call delete_metadata_table(table => 'test_hudi_table');

3.4. show_metadata_table_partitions

显示 Hudi 表的分区。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

partition

String

示例

call show_metadata_table_partitions(table => 'test_hudi_table');

3.5. show_metadata_table_files

显示 Hudi 表的文件信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

partition

String

N

""

分区名称

limit

Int

N

100

限制返回数量

输出字段

输出名称

类型

file_path

String

示例

call show_metadata_table_files(table => 'test_hudi_table', partition => 'dt=20230220');

3.6. show_metadata_table_stats

显示 Hudi 表的元数据统计信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

输出字段

输出名称

类型

stat_key

String

stat_value

String

示例

call show_metadata_table_stats(table => 'test_hudi_table');

validate_metadata_table_files

验证 Hudi 表的元数据文件。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

verbose

Boolean

N

False

是否详细打印所有文件信息

输出字段

输出名称

类型

partition

String

file_name

String

is_present_in_fs

Boolean

is_present_in_metadata

Boolean

fs_size

Long

metadata_size

Long

示例

call validate_metadata_table_files(table => 'test_hudi_table');

3.7. validate_metadata_table_files

验证 Hudi 表的元数据文件。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

verbose

Boolean

N

False

是否详细打印所有文件信息

输出字段

输出名称

类型

partition

String

file_name

String

is_present_in_fs

Boolean

is_present_in_metadata

Boolean

fs_size

Long

metadata_size

Long

示例

sql


复制编辑
call validate_metadata_table_files(table => 'test_hudi_table');

4. 表信息管理(Table Information)

4.1. show_table_properties

显示 Hudi 表的属性信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

path

String

N

None

表的路径

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

key

String

value

String

示例

call show_table_properties(table => 'test_hudi_table', limit => 10);

4.2. show_fs_path_detail

显示指定路径的详细信息。

输入参数

参数名称

类型

必填

默认值

描述

path

String

Y

None

Hudi 表路径

is_sub

Boolean

N

false

是否列出文件

sort

Boolean

N

true

是否按存储大小排序

limit

Int

N

100

限制返回数量

输出字段

输出名称

类型

path_num

Long

file_num

Long

storage_size

Long

storage_size(unit)

String

storage_path

String

space_consumed

Long

quota

Long

space_quota

Long

示例

call show_fs_path_detail(path => 'hdfs://ns1/hive/warehouse/hudi.db/test_hudi_table');

4.3. stats_file_sizes

显示 Hudi 表中文件大小的统计信息。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

partition_path

String

N

""

分区路径

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

commit_time

String

min

Long

10th

Double

50th

Double

avg

Double

95th

Double

max

Long

num_files

Int

std_dev

Double

示例

call stats_file_sizes(table => 'test_hudi_table');

4.4. stats_wa

显示 Hudi 表的写入统计信息和写放大系数。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

commit_time

String

total_upserted

Long

total_written

Long

write_amplification_factor

String

示例

call stats_wa(table => 'test_hudi_table');

4.5. show_logfile_records

显示 Hudi 表日志文件中的记录。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

log_file_path_pattern

String

Y

10

日志文件的路径模式

merge

Boolean

N

false

是否合并结果

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

records

String

示例

call show_logfile_records(table => 'test_hudi_table', log_file_path_pattern => 'hdfs://ns1/hive/warehouse/hudi.db/test_hudi_table/*.log*');

4.6. show_logfile_metadata

显示 Hudi 表日志文件的元数据。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

log_file_path_pattern

String

Y

10

日志文件的路径模式

merge

Boolean

N

false

是否合并结果

limit

Int

N

10

返回的最大记录数

输出字段

输出名称

类型

instant_time

String

record_count

Int

block_type

String

header_metadata

String

footer_metadata

String

示例

call show_logfile_metadata(table => 'hudi_mor_tbl', log_file_path_pattern => 'hdfs://ns1/hive/warehouse/hudi.db/hudi_mor_tbl/*.log*');

4.7. show_invalid_parquet

显示 Hudi 表中的无效 Parquet 文件。

输入参数

参数名称

类型

必填

默认值

描述

Path

String

Y

None

Hudi 表路径

limit

Int

N

100

限制返回数量

needDelete

Boolean

N

false

是否删除无效文件

输出字段

输出名称

类型

Path

String

示例

call show_invalid_parquet(path => 'hdfs://ns1/hive/warehouse/hudi.db/test_hudi_table');

4.8. show_fsview_all

显示 Hudi 表的文件系统视图。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

max_instant

String

N

""

最大事务时间

include_max

Boolean

N

false

是否包含最大事务

include_in_flight

Boolean

N

false

是否包含正在进行的事务

exclude_compaction

Boolean

N

false

是否排除合并

limit

Int

N

10

返回的最大记录数

path_regex

String

N

"ALL_PARTITIONS"

路径模式

输出字段

输出名称

类型

partition

String

file_id

String

base_instant

String

data_file

String

data_file_size

Long

num_delta_files

Long

total_delta_file_size

Long

delta_files

String

示例

call show_fsview_all(table => 'test_hudi_table');

4.9. show_fsview_latest

显示 Hudi 表的最新文件系统视图。

输入参数

参数名称

类型

必填

默认值

描述

table

String

Y

None

Hudi 表名

max_instant

String

N

""

最大事务时间

include_max

Boolean

N

false

是否包含最大事务

include_in_flight

Boolean

N

false

是否包含正在进行的事务

exclude_compaction

Boolean

N

false

是否排除合并

path_regex

String

N

"ALL_PARTITIONS"

路径模式

partition_path

String

N

"ALL_PARTITIONS"

分区路径

merge

Boolean

N

false

是否合并结果

示例

call show_fsview_latest(table => 'test_hudi_table', partition => 'dt=2021-05-03');

5. 表服务(Table Services)

5.1. run_clustering

在 Hudi 表上触发 Clustering 操作。可以使用分区谓词(partition predicates)在指定的分区上执行 Clustering,并且可以指定排序列对数据进行排序。

注意

  • 每次调用都会生成新的 Clustering Instant,或者执行一些待处理的 Clustering Instants。
  • 在调用此过程时,至少需要指定 tablepath 参数中的一个。如果同时提供了这两个参数,则 table 参数将生效。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要执行 Clustering 的表名

path

String

None

需要执行 Clustering 的表路径

predicate

String

None

用于筛选分区的谓词

order

String

None

以逗号分隔的排序列

show_involved_partition

Boolean

false

是否在输出中显示涉及的分区

op

String

None

操作类型,可选值 EXECUTE

SCHEDULE

order_strategy

String

None

记录的布局优化策略,可选值 linear/z-order/hilbert

options

String

None

自定义 Hudi 配置项,格式 "key1=value1,key2=value2"

instants

String

None

指定的 Clustering Instant,以逗号分隔

selected_partitions

String

None

仅在这些分区上执行 Clustering,以逗号分隔

limit

Int

None

要执行的最大计划数

输出参数

参数名称

类型

描述

timestamp

String

Instant 名称

input_group_size

Int

每个计划的输入组大小

state

String

Instant 的最终状态

involved_partitions

String

受影响的分区,默认 *

示例

call run_clustering(table => 'test_hudi_table');

5.2. show_clustering

显示 Hudi 表上的待处理 Clustering 任务。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要查询 Clustering 的表名

path

String

None

需要查询 Clustering 的表路径

limit

Int

None

要返回的最大记录数

输出参数

参数名称

类型

描述

timestamp

String

Instant 时间

groups

Int

需要处理的文件组数

示例

call show_clustering(table => 'test_hudi_table');

5.3. run_compaction

在 Hudi 表上调度或执行 Compaction。

输入参数

参数名称

类型

必需

默认值

描述

op

String

None

操作类型,可选值 RUN

SCHEDULE

table

String

None

需要执行 Compaction 的表名

path

String

None

需要执行 Compaction 的表路径

timestamp

String

None

指定的 Instant 时间

options

String

None

逗号分隔的 Hudi Compaction 配置项

输出参数

参数名称

类型

描述

instant

String

Instant 名称

示例

call run_compaction(op => 'run', table => 'test_hudi_table');

5.4. show_compaction

显示 Hudi 表上的所有 Compaction,包括进行中的和已完成的 Compaction,并按触发时间逆序排列。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要查询 Compaction 的表名

path

String

None

需要查询 Compaction 的表路径

limit

Int

None

要返回的最大记录数

输出参数

参数名称

类型

描述

timestamp

String

Instant 时间

action

String

Compaction 操作名称

size

Int

需要进行 Compaction 的文件切片数量

示例

call show_compaction(table => 'test_hudi_table');

5.5. run_clean

在 Hudi 表上执行清理(Clean)操作。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要执行 Clean 的表名

clean_policy

String

None

清理策略

options

String

None

逗号分隔的 Hudi 清理配置项

输出参数

参数名称

类型

描述

instant

String

Instant 名称

示例

call run_clean(table => 'test_hudi_table');

5.6. delete_marker

删除 Hudi 表上的 Marker 文件。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要删除 Marker 的表名

path

String

None

需要删除 Marker 的表路径

示例

call delete_marker(table => 'test_hudi_table');

5.7. hive_sync

将 Hudi 表同步到 Hive。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要同步的 Hudi 表名

jdbc_url

String

None

连接 Hive Metastore 的 JDBC URL

示例

call hive_sync(table => 'test_hudi_table', jdbc_url => 'jdbc:hive2://localhost:10000');

5.8. hdfs_parquet_import

将 HDFS 上的 Parquet 文件导入 Hudi 表。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

目标 Hudi 表名

src_path

String

None

源 Parquet 文件所在路径

示例

call hdfs_parquet_import(table => 'test_hudi_table', src_path => '/data/parquet_files');

5.9. repair_add_partition_meta

修复 Hudi 表的分区元数据。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

dry_run

Boolean

true

是否执行 dry run(模拟运行)

输出参数

参数名称

类型

partition_path

String

metadata_is_present

String

action

String

示例

call repair_add_partition_meta(table => 'test_hudi_table');

5.10. repair_corrupted_clean_files

修复 Hudi 表中的损坏的清理文件。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

输出参数

参数名称

类型

result

Boolean

示例

call repair_corrupted_clean_files(table => 'test_hudi_table');

5.11. repair_deduplicate

修复 Hudi 表中的重复记录。该作业会去重 duplicated_partition_path 目录中的数据,并将其写入 repaired_output_path。作业完成后,repaired_output_path 的数据将被复制回 duplicated_partition_path

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

duplicated_partition_path

String

None

存在重复数据的分区路径

repaired_output_path

String

None

修复后的数据输出路径

dry_run

Boolean

true

是否执行 dry run(模拟运行)

dedupe_type

String

"insert_type"

去重类型

输出参数

参数名称

类型

result

String

示例

call repair_deduplicate(table => 'test_hudi_table', duplicated_partition_path => 'dt=2021-05-03', repaired_output_path => '/tmp/repair_path/');

5.12. repair_migrate_partition_meta

降级 Hudi 表的分区元数据。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

dry_run

Boolean

true

是否执行 dry run(模拟运行)

输出参数

参数名称

类型

partition_path

String

text_metafile_present

String

base_metafile_present

String

action

String

示例

call repair_migrate_partition_meta(table => 'test_hudi_table');

5.13. repair_overwrite_hoodie_props

覆盖 Hudi 表的属性文件。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

new_props_file_path

String

None

新属性文件的路径

输出参数

参数名称

类型

property

String

old_value

String

new_value

String

示例

call repair_overwrite_hoodie_props(table => 'test_hudi_table', new_props_file_path => '/tmp/props');

6. 引导(Bootstrap)

6.1. run_bootstrap

将现有表转换为 Hudi 表。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要执行引导的表名

table_type

String

None

表类型,可选 MERGE_ON_READ

COPY_ON_WRITE

bootstrap_path

String

None

需要引导为 Hudi 表的数据集的基础路径

base_path

String

None

Hudi 表的基础路径

rowKey_field

String

None

主键字段

base_file_format

String

"PARQUET"

基础文件格式

partition_path_field

String

""

分区字段

bootstrap_overwrite

Boolean

false

是否覆盖引导路径

输出参数

参数名称

类型

status

Boolean

示例

call run_bootstrap(table => 'test_hudi_table', table_type => 'COPY_ON_WRITE', bootstrap_path => 'hdfs://ns1/hive/warehouse/hudi.db/test_hudi_table', base_path => 'hdfs://ns1//tmp/hoodie/test_hudi_table', rowKey_field => 'id', partition_path_field => 'dt', bootstrap_overwrite => true);

6.2. show_bootstrap_mapping

显示引导表的映射文件。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要查询的 Hudi 表名

输出参数

参数名称

类型

partition

String

file_id

Int

source_base_path

String

source_partition

Int

source_file

String

示例

call show_bootstrap_mapping(table => 'test_hudi_table');

6.3. show_bootstrap_partitions

显示引导表的分区。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

需要查询的 Hudi 表名

输出参数

参数名称

类型

indexed_partitions

String

示例

call show_bootstrap_partitions(table => 'test_hudi_table');

7. 版本管理(Version Management)

7.1. upgrade_table

升级 Hudi 表至指定版本。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

to_version

String

None

目标 Hudi 版本

输出参数

参数名称

类型

result

Boolean

示例

call upgrade_table(table => 'test_hudi_table', to_version => 'FIVE');

7.2. downgrade_table

降级 Hudi 表至指定版本。

输入参数

参数名称

类型

必需

默认值

描述

table

String

None

Hudi 表名

to_version

String

None

目标 Hudi 版本

输出参数

参数名称

类型

result

Boolean

示例

call downgrade_table(table => 'test_hudi_table', to_version => 'FOUR');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Toroidals

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值