如果托管表和外部表具有相同的位置,删除托管表是否会删除外部表? [英] Deleting the managed table will delete external table if both have the same location?

查看:17
本文介绍了如果托管表和外部表具有相同的位置,删除托管表是否会删除外部表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在相同位置创建托管表和外部表。

当您删除内部表时,数据文件会发生什么情况? 是否会对外部表或外部表的文件位置造成问题?

推荐答案

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

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

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

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

这篇关于如果托管表和外部表具有相同的位置,删除托管表是否会删除外部表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆