修改分区列值

时间:2016-07-15 21:16:39

标签: hive partition

我是否可以通过更改分区目录的名称来修改分区表的值?

我现在的表有年份和月份作为分区。这些值存储为十进制,因此分区为“2016.0”而不是“2016”和“3.0”而不是“3”。

我可以只重命名目录并更新分区中的值吗?

1 个答案:

答案 0 :(得分:3)

首先重命名目录:

hadoop fs -mv /dev/year=2016.0 /dev/year=2016
hadoop fs -mv /dev/year=2016/month=4.0 /dev/year=2016/month=4

让hive Metastore知道新的位置/分区:

ALTER TABLE logs PARTITION(year = 2014, month = 4) 
SET LOCATION 'hdfs://dev/year=2016/month=4';