DROP TABLE文は、Treasure Data CDPのデータベースからテーブルとそのデータを削除します。データエンジニアは、Trinoに切り替えることなくHiveQLから直接テーブルを削除するために使用します(例: データ取り込みワークフロー終了時のステージングテーブルの削除)。
Note
このページでは、HiveクエリエンジンでサポートされるDROP TABLEの構文について説明します。TrinoクエリエンジンでもDROP TABLEはサポートされていますが、構文がわずかに異なります。
DROP TABLE [IF EXISTS] [<database_name>.]<table_name> [PURGE]各要素の意味:
- <table_name> は削除するテーブルの名前です。
IF EXISTSを指定すると、テーブルが存在しない場合に文が成功することが明示されます。PURGEはHiveQLとの互換性のために受け付けられますが、効果はありません。PURGEは効果を持たないを参照してください。
Note
存在しないテーブルを削除した場合、IF EXISTSを省略していてもエラーにならず成功します。
テーブルを削除する:
DROP TABLE my_database.staging_events;テーブルが存在する場合のみ削除する:
DROP TABLE IF EXISTS staging_events;オープンソース版Hiveでは、PURGEキーワードを指定するとHDFSのゴミ箱(Trash)を経由せず、データが即座に削除され復旧できなくなります。Treasure Data CDPでは、削除されたテーブルデータのライフサイクルはプラットフォーム側で管理されるため、PURGEは構文として受け付けられますが無視されます。DROP TABLE tとDROP TABLE t PURGEは同じ動作になります。
クエリを実行するユーザーには、対象テーブルを削除する権限が必要です。権限がない場合、文は認可エラーで失敗し、テーブルは削除されません。
FOR [METADATA] REPLICATION('<event_id>')句はサポートされておらず、エラーで拒否されます。