1

托管表和外部表使用相同的位置创建。

当您删除内部表时,数据文件会发生什么?它会对外部表或外部表的文件位置造成任何问题吗?

4

1 回答 1

0

该表是包含列规范、位置路径、表类型、SerDe、统计信息、授权等的元数据。删除位置文件夹或文件不会删除表,只会删除数据。Hive 中的表和数据是松散连接的,这非常方便,因为您不仅可以使用 Hive 管理数据,还可以在其他一些工具生成的现有数据之上创建 Hive 表,Hive 只是您可以拥有的众多工具之一Hadoop,不一定只有 Hadoop。

一张桌子对建立在同一位置上的另一张桌子一无所知。当然,当您删除使用与另一个外部或托管表相同的位置创建的托管表时,该位置将被删除。从另一个表中选择将不返回任何行。如果要删除表并保持其位置不变,请EXTERNAL=TRUE在删除之前设置:

ALTER TABLE abc SET TBLPROPERTIES('EXTERNAL'='TRUE');

另请参阅有关有趣测试的类似主题的答案:https ://stackoverflow.com/a/54038932/2700344

于 2019-07-09T17:37:53.260 回答