Impala-drop-table

提供:Dev Guides
移動先:案内検索

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 がリストにありません。

データベースMY DBの作成