修改Hudi表结构无效 ( 数据列丢失 ) 问题

Posted Laurence 

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Hudi表结构无效 ( 数据列丢失 ) 问题相关的知识,希望对你有一定的参考价值。

最近一次使用Hudi SQL向一个Hudi数据表插入数据时,遇到如下错误:

HoodieException: Expected table’s schema: … query’s output (including static partition values): …

经过仔细核查发现插入的目标表中少了一个刚刚修改过的列product_category,但让人费解的是,这个列明明在建表语句中有,但是执行建表语句后查询表结构,确实没有该列:

经过排查发现原因是:product_category列是后来新增的,在添加该列前,已经前一个版本的reviews_cow表truncate并drop掉了,但是这些操作都不会删除hudi表的元数据目录.hoodie,导致部分的元数据残存在原来的地方,如果使用同一位置重建该表,就会使用到旧的Hudi元数据。

所以解决方法就是: 删除.hoodie元数据目录。

以上是关于修改Hudi表结构无效 ( 数据列丢失 ) 问题的主要内容,如果未能解决你的问题,请参考以下文章

kafka数据到hudi丢失数据问题

数据湖:Hudi与Spark整合

Apache Hudi 架构原理与最佳实践

数据湖(二十):Flink兼容Iceberg目前不足和Iceberg与Hudi对比

ef codeFirst 修改表结构 增加字段等 EF code first需要重新生成库导致数据丢失的问题.

Hudi Hive sync 使用