Hive外部表将位置更改为新路径后,指向旧位置

时间:2018-12-01 09:48:19

标签: hive

最初,我在位置

之后创建一个Hive external
  

hdfs:// user / temp2

,然后我将位置更改为以下位置。

  

hdfs:// user / temp3

现在即使运行MSCK repair table后,我的表仍指向旧位置(hdfs:// user / temp2)

表是动态分区的。

1 个答案:

答案 0 :(得分:1)

问题是您的表已分区,并且分区具有自己的旧位置。对于外部表,最简单的方法是删除并创建表+修复表,这将在新位置子目录之上创建分区。

要完成的步骤是:

DROP TABLE abc;

CREATE EXTERNAL TABLE abc ... location 'hdfs://user/temp3';

MSCK REPAIR TABLE abc;