数据仓库服务 GAUSSDB(DWS)-Hudi任务同步:创建Hudi任务
创建Hudi任务
迁移场景
如果 GaussDB (DWS)表已经通过CDL导入数据,改为用SQL on Hudi方式迁移数据。或者使用 CDM 做全量初始化后,继续使用SQL on Hudi方式同步增量数据。
- 创建hudi.hudi_sync_state同步状态表,需要管理员权限。
1
SELECT pg_catalog.create_hudi_sync_table();
通常情况下,每个数据库中只创建一次hudi.hudi_sync_state。
- 设置CDL的同步进度,用户需要有同步目标表的INSERT和UPDATE权限、HUDI外表的SELECT权限,否则无法正常设置同步进度。
1
SELECT hudi_set_sync_commit('SCHEMA.TABLE', 'SCHEMA.FOREIGN_TABLE', 'LATEST_COMMIT');
其中:
- SCHEMA.TABLE,表示同步数据的目标表名,带schema。
- SCHEMA.FOREIGN_TABLE,表示OBS外表命名,带schema。
- LATEST_COMMIT,表示已同步的Hudi数据时间截点。
示例:目标表public.in_rel,已经同步hudi的数据到20220913152131,切换到SQL on Hudi方式从OBS外表hudi_read1中继续导出数据。
1
SELECT hudi_set_sync_commit('public.in_rel', 'public.hudi_read1', '20220913152131');
- 提交Hudi同步任务。
1
SELECT hudi_sync_task_submit('SCHEMA.TABLE', 'SCHEMA.FOREIGN_TABLE');
例如:目标表public.in_rel,切换到SQL on Hudi方式从OBS外表hudi_read1中继续导出数据。
1
SELECT hudi_sync_task_submit('public.in_rel', 'public.hudi_read1');