更新时间:2025-09-19 GMT+08:00
分享

Hudi外表查询

Hudi外表可以直接查询数据,默认查询实时视图,也可以通过设置增量查询参数实现增量视图查询。

hudi外表增量查询

通过设置增量查询参数,进行hudi外表增量查询。

1
2
3
4
SET hoodie.SCHEMA.FOREIGN_TABLE.consume.mode=incremental;
SET hoodie.SCHEMA.FOREIGN_TABLE.consume.start.timestamp=起始时间戳;
SET hoodie.SCHEMA.FOREIGN_TABLE.consume.ending.timestamp=结束时间戳;
SELECT * FROM SCHEMA.FOREIGN_TABLE;

示例:

查询MOR hudi外表public.rtd_mfdt_int_currency_ft从20221207164617到20221207170234之间的增量数据。

1
2
3
4
SET hoodie.public.rtd_mfdt_int_currency_ft.consume.mode=incremental;
SET hoodie.public.rtd_mfdt_int_currency_ft.consume.start.timestamp=20221207164617;
SET hoodie.public.rtd_mfdt_int_currency_ft.consume.ending.timestamp=20221207170234;
SELECT * FROM public.rtd_mfdt_int_currency_ft where _hoodie_commit_time>20221207164617 and _hoodie_commit_time<=20221207170234;

查询hudi外表已设置的增量参数

通过函数pg_show_custom_settings()查看hudi外表已设置的增量参数,检查参数设置是否正确。
1
SELECT * FROM pg_show_custom_settings();

查询hudi外表属性(hoodie.properties)

查询OBS上hudi数据的外表属性hoodie.properties。

语法:
1
SELECT * FROM hudi_get_options('SCHEMA.FOREIGN_TABLE');

示例:查询当前schema下的OBS外表rtd_mfdt_int_currency_ft的hudi属性。

1
SELECT * FROM hudi_get_options('rtd_mfdt_int_currency_ft');

查询hudi外表最大时间线

查询OBS上hudi数据最大时间线,即最新的提交记录。

语法:

1
SELECT * FROM hudi_get_max_commit('SCHEMA.FOREIGN_TABLE');

示例:查询当前schema下的OBS外表rtd_mfdt_int_currency_ft的最大时间线。

1
SELECT * FROM hudi_get_max_commit('rtd_mfdt_int_currency_ft');

相关文档