将新分区添加到已分区的配置单元表

Posted

技术标签:

【中文标题】将新分区添加到已分区的配置单元表【英文标题】:Add new partition to already partitioned hive table 【发布时间】:2019-08-13 04:28:21 【问题描述】:

我有一个分区表Student,它已经有一个分区列dept。我需要添加新的分区列gender

是否可以在已经分区的 hive 表中添加这个新的分区列。

表格数据没有gender 列。它是一个新的常量列,要添加到 hive 表中。

【问题讨论】:

我不知道这个问题的答案(很可能你不知道),但我想知道的是,表格数据中是否已经包含性别?如果没有,最好用性别分区重新创建表 【参考方案1】:

分区是分层文件夹,例如table_location/dept=Accounting/gender=male/ 文件夹结构应该存在。您可以轻松地将非分区列添加为最后一个列,如果数据不包含该列,它将返回 NULL,但要添加分区列,最简单的方法是根据需要创建新的分区表,插入覆盖该表旧表(选择分区列作为最后一个),删除旧表,重命名新表。

查看这个关于动态分区加载的答案:https://***.com/a/48901871/2700344

【讨论】:

以上是关于将新分区添加到已分区的配置单元表的主要内容,如果未能解决你的问题,请参考以下文章

带有分区的外部配置单元表 - 当我添加具有读取访问权限的数据的分区时出现权限错误

将外部分区表(带分区)与另一个没有分区的外部表在配置单元中连接

如何将按月分区的配置单元表中的数据加载到按周分区的配置单元表中

Hive - 巨大的 10TB 表重新分区(添加新的分区列)

centos7磁盘扩容(亲测有效)

未为创建的新配置单元表创建分区文件