Impala-データベースを削除する
ザ・ DROP DATABASE Statementof Impalaは、Impalaからデータベースを削除するために使用されます。データベースを削除する前に、データベースからすべてのテーブルを削除することをお勧めします。
構文
以下はの構文です DROP DATABASE ステートメント。
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT |
CASCADE] [LOCATION hdfs_path];
ここに、 IF EXISTSオプションの句です。指定された名前のデータベースが存在するときにこの句を使用すると、データベースは削除されます。また、指定された名前の既存のデータベースがない場合、操作は実行されません。
例
以下はの例です DROP DATABASEステートメント。Impalaに名前のデータベースがあると仮定しますsample_database。
また、データベースのリストを確認する場合は、 SHOW DATABASES ステートメント、あなたはその中の名前を観察します。
[quickstart.cloudera:21000] > SHOW DATABASES;
Query: show DATABASES
+-----------------------+
| name |
+-----------------------+
| _impala_builtins |
| default |
| my_db |
| sample_database |
+-----------------------+
Fetched 4 row(s) in 0.11s
これで、を使用してこのデータベースを削除できます。 DROP DATABASE Statement 以下に示すように。
< DROP DATABASE IF EXISTS sample_database;
これにより、指定されたデータベースが削除され、次の出力が得られます。
Query: drop DATABASE IF EXISTS sample_database;
検証
指定されたデータベースが削除されているかどうかを確認するには、 SHOW DATABASESステートメント。ここでは、という名前のデータベースを確認できますsample_database データベースのリストから削除されます。
[quickstart.cloudera:21000] > SHOW DATABASES;
Query: show DATABASES
+----------------------+
| name |
+----------------------+
| _impala_builtins |
| default |
| my_db |
+----------------------+
Fetched 3 row(s) in 0.10s
[quickstart.cloudera:21000] >
カスケード
一般に、データベースを削除するには、データベース内のすべてのテーブルを手動で削除する必要があります。カスケードを使用する場合、Impalaは、指定されたデータベース内のテーブルを削除する前に削除します。
例
Impalaに名前の付いたデータベースがあるとします。 sample、および2つのテーブルが含まれています。 student そして test。このデータベースを直接削除しようとすると、次のようなエラーが発生します。
[quickstart.cloudera:21000] > DROP database sample;
Query: drop database sample
ERROR:
ImpalaRuntimeException: Error making 'dropDatabase' RPC to Hive Metastore:
CAUSED BY: InvalidOperationException: Database sample is not empty. One or more
tables exist.
使用する cascade、以下に示すように、このデータベースを直接(コンテンツを手動で削除せずに)削除できます。
[quickstart.cloudera:21000] > DROP database sample cascade;
Query: drop database sample cascade
Note −「current database」をImpalaで。したがって、データベースを削除する前に、現在のコンテキストが、削除するデータベース以外のデータベースに設定されていることを確認する必要があります。
HueBrowserを使用したデータベースの削除
Impalaクエリエディタを開き、次のように入力します DELETE DATABASEその中のステートメントを入力し、以下に示すように実行ボタンをクリックします。3つのデータベースがあるとします。my_db, my_database、および sample_databaseデフォルトのデータベースと一緒に。ここでは、my_databaseという名前のデータベースを削除しています。
クエリを実行した後、カーソルをドロップダウンメニューの上部にそっと移動します。次に、以下のスクリーンショットに示すような更新記号が表示されます。更新記号をクリックすると、データベースのリストが更新され、最近行われた変更がデータベースに適用されます。
検証
クリックしてください drop down 見出しの下 DATABASEエディターの左側にあります。そこで、システム内のデータベースのリストを見ることができます。ここでは、新しく作成されたデータベースを観察できますmy_db 以下に示すように。
注意深く観察すると、1つのデータベースしか見ることができません。 my_db デフォルトのデータベースと一緒にリストにあります。