Impala-drop-table
Impala-テーブルをドロップする
Impalaの drop table ステートメントは、Impalaの既存のテーブルを削除するために使用されます。 このステートメントは、内部テーブルの基になるHDFSファイルも削除します
注-テーブルを削除すると、テーブルで使用可能なすべての情報も永久に失われるため、このコマンドの使用には注意が必要です。
構文
以下は、 DROP TABLE ステートメントの構文です。 ここで、 IF EXISTS はオプションの句です。 この句を使用すると、指定された名前のテーブルは、存在する場合にのみ削除されます。 それ以外の場合、操作は実行されません。
DROP table database_name.table_name;
IF EXISTS句なしで存在しないテーブルを削除しようとすると、エラーが生成されます。 オプションで、t * able_name とともに *database_name を指定できます。
例
以下に示すように、データベース my_db 内のテーブルのリストを最初に確認しましょう。
[quickstart.cloudera:21000] > show tables;
Query: show tables
+------------+
| name |
+------------+
| customers |
| employee |
| student |
+------------+
Fetched 3 row(s) in 0.11s
上記の結果から、データベース my_db に3つのテーブルが含まれていることがわかります。
以下は drop table statement の例です。 この例では、 student という名前のテーブルをデータベース my_db から削除しています。
[quickstart.cloudera:21000] > drop table if exists my_db.student;
上記のクエリを実行すると、指定した名前のテーブルが削除され、次の出力が表示されます。
Query: drop table if exists student
検証
*show Tables* クエリは、Impalaの現在のデータベース内のテーブルのリストを提供します。 したがって、 *Show Tables* ステートメントを使用して、テーブルが削除されているかどうかを確認できます。
まず、以下に示すように、必要なテーブルが存在するデータベースにコンテキストを切り替える必要があります。
[quickstart.cloudera:21000] > use my_db;
Query: use my_db
その後、 show tables クエリを使用してテーブルのリストを取得すると、 student という名前のテーブルがリストにないことを確認できます。
[quickstart.cloudera:21000] > show tables;
Query: show tables
+-----------+
| name |
+-----------+
| customers |
| employee |
| student |
+-----------+
Fetched 3 row(s) in 0.11s
Hue Browserを使用したデータベースの作成
Impala Queryエディターを開き、その中に drop Table ステートメントを入力します。 次のスクリーンショットに示すように、実行ボタンをクリックします。
クエリを実行した後、カーソルをドロップダウンメニューの上部にそっと移動すると、更新記号が表示されます。 更新記号をクリックすると、データベースのリストが更新され、最近行われた変更がデータベースに適用されます。
検証
エディターの左側の見出し DATABASE の下にある*ドロップダウン*をクリックします。 そこでデータベースのリストを見ることができます。以下に示すように、データベース my_db を選択します。
データベース my_db を選択すると、以下に示すように、その中のテーブルのリストを見ることができます。 以下に示すように、削除されたテーブル student がリストにありません。