更新 HIVE 中的分区元数据

Posted

技术标签:

【中文标题】更新 HIVE 中的分区元数据【英文标题】:Update partiion metadata in HIVE 【发布时间】:2021-10-26 11:48:31 【问题描述】:

我有一个 HIVE 表 T1,其中 C1 和 C2 列在 C2 上进行了分区。我想将 C1 列的数据类型从字符串更改为布尔值。我使用了这个查询

ALTER TABLE T1 CHANGE C1 C1 boolean CASCADE;

然后我运行 Insert OVERWRITE 查询来覆盖分区数据。但似乎旧分区 C1 仍然是字符串。对于新分区,它是布尔值。

【问题讨论】:

【参考方案1】:

分区是hdfs中的物理文件夹。因此,c1 字符串文件夹将在那里。最好的主意是 -

备份数据原表。

删除并重新创建带有新分区的表。

从备份中重新加载数据并删除备份表。

【讨论】:

以上是关于更新 HIVE 中的分区元数据的主要内容,如果未能解决你的问题,请参考以下文章

获取 Spark 写入 Hive 元存储的所有新分区

hive表分区的修复

HIve通过mysql元数据表删除分区

hive查询分区元数据,PARTITIONED BY

hive创建分区 9870查询不到

Hive导入导出