如果您使用指向某个 S3 存储桶位置的EXTERNAL关键字创建外部表,我注意到了一件事。数据被加载,您可以查询它。但是,即使我不使用EXTERNAL关键字并使用脚本的其余部分来创建表。即使这样,它也能完美运行。为什么会这样?另外,它是外部表还是内部表?如果,我删除这个表,元数据会被删除还是数据也会被删除?术语EXTERNAL有什么意义吗?
如果我创建一个带有 EXTERNAL 关键字和位置的表以及另一个没有 EXTERNAL 关键字但带有位置的表。当我得到相同的行为时,有什么区别?
create table dummy(id int, value string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '~'
STORED AS TEXTFILE
LOCATION 's3n://logs/july';
VS
create external table dummy(id int, value string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '~'
STORED AS TEXTFILE
LOCATION 's3n://logs/july';