【发布时间】:2016-06-02 20:21:14
【问题描述】:
假设您有两个外部 Hive ORC 表。它们都具有相同的架构,具有相同的数据类型、相同的分区和相同的存储桶。
我正在尝试删除表 A 并将表 B 的位置设置为表 A 的源位置。我都试过了:
alter tableB set location "hdfs://.../tableA"
和
msck repair table B
运气不好。
【问题讨论】:
-
您是否也尝试设置分区位置?
-
为了强调@leftjoin 提出的观点,对于分区表,表级“位置”只是未来分区的默认根目录。现有分区在元存储数据库中注册了自己的“位置”。你必须一个一个地改变它们。
-
或者,您可以尝试(1)从表B中删除所有分区(2)更改表B的“位置” (3) 运行
MSCK repair自动检测子目录。按此顺序。