Hudi用户接口
实时视图与增量视图查询
GaussDB(DWS)提供了类似spark-sql风格的表级参数,用于支持实时视图和增量视图。
具体参数说明如下,其中SCHEMA.FOREIGN_TABLE需要替换为实际的schema和外表名。
参数 |
取值 |
说明 |
---|---|---|
hoodie.SCHEMA.FOREIGN_TABLE.consume.mode |
SNAPSHOT |
查询实时视图。 |
INCREMENTAL |
查询增量视图。 |
|
hoodie.SCHEMA.FOREIGN_TABLE.consume. start.timestamp |
hudi时间戳 |
指定增量同步的起始commit。 |
hoodie.SCHEMA.FOREIGN_TABLE.consume. ending.timestamp |
hudi时间戳 |
指定增量同步的结束commit,不指定则采用最新commit。 |
- 以上参数支持使用set命令设置,并且仅在当前SESSION中有效;使用reset命令恢复缺省值。
- 可以通过系统函数pg_catalog.pg_show_custom_settings()来查询相关参数的设置详情。
- 查询MOR表的增量视图时,需要使用where条件过滤_hoodie_commit_time字段,避免读取到未合并的不符合条件的log文件数据;COW表无需该操作。
Hudi外表信息查询与自动同步任务
GaussDB(DWS)提供一系列系统函数来实现Hudi外表信息获取、创建Hudi自动同步任务等功能。其中Hudi自动同步任务实现了从Hudi外表周期性同步数据到GaussDB(DWS)内表功能。
序号 |
名称 |
类型 |
功能 |
---|---|---|---|
1 |
pg_show_custom_settings() |
内置函数 |
查询HUDI外表参数设置详情。 |
2 |
hudi_get_options(regclass) |
内置函数 |
查询HUDI外表的属性信息(hoodie.properties)。 |
3 |
hudi_get_max_commit(regclass) |
内置函数 |
获取当前HUDI外表最新commit的时间戳。 |
4 |
hudi_sync_task_submit(regclass, regclass) |
内置函数 |
提交HUDI自动同步任务。 |
hudi_sync_task_submit(regclass, regclass, text, text) |
|||
5 |
hudi_show_sync_state() |
内置函数 |
获取HUDI自动同步任务的同步状态。 |
6 |
hudi_sync(regclass, regclass) |
存储过程 |
HUDI自动同步任务调用入口。 |
7 |
hudi_sync_custom(regclass, regclass, text) |
存储过程 |
HUDI自动同步任务调用入口,支持用户自定义目标表和数据源表的字段同步对应关系。 |
8 |
hudi_set_sync_commit(regclass, regclass, text) |
内置函数 |
设置HUDI自动同步任务首次同步的起点时间戳,避免在已经同步了部分数据的情况下,重新同步已有数据。 |
hudi_set_sync_commit(text, text) |
设置HUDI自动同步任务下一次同步的起点时间戳,可以用于重复同步历史数据或者跳过某些数据。 |