FAQ-Hive分区表变更表元数据后,查询变更字段内容为Null
更新时间: 2024-03-11 02:53:25
阅读 1100
问题描述
问题描述/异常栈
Hive分区表变更表元数据后,查询变更字段内容为Null
解决方案
Hive表级meta与分区级meta为各自独立管理,正常DDL语句仅操作表级meta,该修改如需对历史分区生效,需在正常DDL语句后添加关键字cascade;另外:如果该DDL语句未引起表级meta变更,则关键字cascade无效;
参考:
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];
备注:
添加CASCADE关键字后,上面的命令会overwrite所有分区的meta信息,如果表的分区很多,会对Hive的元数据库MySQL造成大量的DDL,可能造成MySQL负载过高。因此默认值是RESTRICT。
问题原因
作者:常惠渊
文档反馈
以上内容对您是否有帮助?