FAQ-修改hive表结构报错
更新时间: 2024-07-17 10:35:30
阅读 258
FFAQ-修改hive表结构报错
问题描述/异常栈
修改表 高转低精度实际上没有超出精度数据
发现版本
spark通用版本解决方案
解决方法:开发回复:Hive 元数据没有强规范,不同计算引擎在具体实现上有差异,大部分 ALTER TABLE 修改 Hive 表结构操作或多或少会引起问题;
实践中,仅在尾部添加列操作比较安全;其他改列名、中间加列、删列、改列数据类型操作都有可能引发数据问题,建议重新建表导入数据,或使用 Iceberg表格式。
问题原因
具体原因:Hive 表不是 MySQL 这种封闭的服务 InnoDB 只有 MySQL Server 进程可以访问;Hive 表的 HDFS 的文件跟元数据是独立存储且允许其他计算引擎修改的,ALTER TABLE 修改表结构会引发很多问题spark 官方异常栈: https://iceberg.apache.org/spec/#schema-evolution
作者:华柄印
文档反馈
以上内容对您是否有帮助?