更新时间:2024-11-29 GMT+08:00
使用Spark SQL删除MOR表后重新建表写入数据无法同步ro、rt表
问题
使用Spark SQL删除MOR表后重新建表写入数据不能实时同步ro、rt表,报错如下:
WARN HiveSyncTool: Got runtime exception when hive syncing, but continuing as ignoreExceptions config is set java.lang.IllegalArgumentException: Failed to get schema for table hudi_table2_ro does not exist at org.apache.hudi.hive.HoodieHiveClient.getTableSchema(HoodieHiveClient.java:183) at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:286) at org.apache.hudi.hive.HiveSyncTool.doSync(HiveSyncTool.java:213)
回答
原因:
Hudi表为减少访问Hive Metastore的频率,增加了缓存机制,默认缓存1小时,所以使用Spark SQL删除MOR表后重新建表写入数据无法同步ro、rt表。
解决方案:
执行SQL时设置参数:hoodie.datasource.hive_sync.interval=0
set hoodie.datasource.hive_sync.interval=0;
父主题: 数据写入