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; |
查询已设置的增量参数
1
|
SELECT * FROM pg_show_custom_settings(); |
查询hudi外表属性(hoodie.properties)
1
|
SELECT * FROM hudi_get_options('SCHEMA.FOREIGN_TABLE'); |
示例:查询当前schema下的OBS外表rtd_mfdt_int_unit_ft的hudi属性:
1
|
SELECT * FROM hudi_get_options('rtd_mfdt_int_unit_ft'); |
查询hudi外表最大时间线
查询OBS上hudi数据最大时间线,即最新的提交记录:
1
|
SELECT * FROM hudi_get_max_commit('SCHEMA.FOREIGN_TABLE'); |
示例:查询当前schema下的OBS外表rtd_mfdt_int_unit_ft的最大时间线:
1
|
SELECT * FROM hudi_get_max_commit('rtd_mfdt_int_unit_ft'); |