S3 バケットの場所を指すEXTERNALキーワードを使用して外部テーブルを作成すると、1 つのことに気付きました。データが読み込まれ、クエリを実行できます。ただし、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';