最初,我在位置
之后创建一个Hive external
表
hdfs:// user / temp2
,然后我将位置更改为以下位置。
hdfs:// user / temp3
现在即使运行MSCK repair table
后,我的表仍指向旧位置(hdfs:// user / temp2)
表是动态分区的。
答案 0 :(得分:1)
问题是您的表已分区,并且分区具有自己的旧位置。对于外部表,最简单的方法是删除并创建表+修复表,这将在新位置子目录之上创建分区。
要完成的步骤是:
DROP TABLE abc;
CREATE EXTERNAL TABLE abc ... location 'hdfs://user/temp3';
MSCK REPAIR TABLE abc;