hive分为内部表和外部表,两种表修改路径方式不一样。
内部表
设置新的路径
alter table tb_table1 set location 'hdfs://cluster/hive/warehouse/test.db/tb_table2
移动表的文件
hdfs dfs -mv /hive/warehouse/test.db/tb_table1 /hive/warehouse/test.db/tb_table2
外部表
因为外部表删除表并不会删除文件,所以可以先删除表
drop table table1;
移动文件到新位置
hdfs dfs -mv /hive/warehouse/test.db/tb_table1 /hive/warehouse/test.db/tb_table2
新建新表, 并且指定路径为新地址
create external table table2 (....) location '/hive/warehouse/test.db/table2'
恢复元数据
msck repair table table2;

本文详细介绍了Hive中内部表和外部表的文件路径修改方法。对于内部表,使用`ALTER TABLE`命令设置新路径,并通过`hdfs dfs-mv`移动文件;外部表则需要先删除表,移动文件后再创建新表并指定新路径,最后使用`MSCK REPAIR TABLE`修复元数据。这些步骤确保了Hive表与实际数据的一致性。
1007

被折叠的 条评论
为什么被折叠?



