# Hudi外表查询
Hudi外表可以直接查询数据，默认查询实时视图，也可以通过设置增量查询参数实现增量视图查询。
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/note_3.0-zh-cn.png)
DWS的hudi外表不支持读取使用了Schema演进特性的hudi表，如果读取Schema演进的hudi表，会导致修改列无数据（全为null）或者有报错的情况。（Schema演进，即Schema Evolution，是指在数据表的生命周期中，允许用户能够方便地修改Hudi表的当前Schema，以适应数据需求的变化。这包括添加、删除或修改表中的字段。）
#### hudi外表增量查询
通过设置增量查询参数，进行hudi外表增量查询。
```
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之间的增量数据。
```
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外表已设置的增量参数，检查参数设置是否正确。
```
SELECT * FROM pg_show_custom_settings();
```
#### 查询hudi外表属性（hoodie.properties）
查询OBS上hudi数据的外表属性hoodie.properties。
语法：
```
SELECT * FROM hudi_get_options('SCHEMA.FOREIGN_TABLE');
```
示例：查询当前schema下的OBS外表rtd_mfdt_int_currency_ft的hudi属性。
```
SELECT * FROM hudi_get_options('rtd_mfdt_int_currency_ft');
```
#### 查询hudi外表最大时间线
查询OBS上hudi数据最大时间线，即最新的提交记录。
语法：
```
SELECT * FROM hudi_get_max_commit('SCHEMA.FOREIGN_TABLE');
```
示例：查询当前schema下的OBS外表rtd_mfdt_int_currency_ft的最大时间线。
```
SELECT * FROM hudi_get_max_commit('rtd_mfdt_int_currency_ft');
```
