我是否可以通过更改分区目录的名称来修改分区表的值?
我现在的表有年份和月份作为分区。这些值存储为十进制,因此分区为“2016.0”而不是“2016”和“3.0”而不是“3”。
我可以只重命名目录并更新分区中的值吗?
答案 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';