课程表

Impala 基础

Table 特定语句

Impala 子句

工具箱
速查手册

impala 删除数据库

当前位置:免费教程 » 大数据/云 » Impala

Impala的DROP DATABASE语句用于从Impala中删除数据库。 在删除数据库之前,建议从中删除所有表。

语法

以下是DROP DATABASE语句的语法。

  1. DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT |
  2. CASCADE] [LOCATION hdfs_path];

这里,IF EXISTS是一个可选子句。 如果我们在存在具有给定名称的数据库时使用此子句,则它将被删除。 如果没有具有给定名称的现有数据库,则不执行任何操作。

以下是DROP DATABASE语句的示例。 假设您在Impala中有一个名称为sample_database的数据库。

并且,如果使用SHOW DATABASES语句验证数据库列表,您将观察其中的名称。

  1. [quickstart.cloudera:21000] > SHOW DATABASES;
  2.  
  3. Query: show DATABASES
  4. +-----------------------+
  5. | name |
  6. +-----------------------+
  7. | _impala_builtins |
  8. | default |
  9. | my_db |
  10. | sample_database |
  11. +-----------------------+
  12. Fetched 4 row(s) in 0.11s

现在,您可以使用DROP DATABASE语句删除此数据库,如下所示。

  1. < DROP DATABASE IF EXISTS sample_database;

这将删除指定的数据库,并给您以下输出。

  1. Query: drop DATABASE IF EXISTS sample_database;

验证

您可以使用SHOW DATABASES语句验证给定数据库是否已删除。 在这里,您可以观察到名为sample_database的数据库从数据库列表中删除。

  1. [quickstart.cloudera:21000] > SHOW DATABASES;
  2.  
  3. Query: show DATABASES
  4. +----------------------+
  5. | name |
  6. +----------------------+
  7. | _impala_builtins |
  8. | default |
  9. | my_db |
  10. +----------------------+
  11. Fetched 3 row(s) in 0.10s
  12. [quickstart.cloudera:21000] >

级联

一般来说,要删除数据库,您需要手动删除其中的所有表。 如果使用级联,Impala会在删除指定数据库中的表之前删除它。

假设在Impala中有一个数据库命名为sample,它包含两个表,即student和test。 如果您尝试直接删除此数据库,您将收到一个错误,如下所示。

  1. [quickstart.cloudera:21000] > DROP database sample;
  2. Query: drop database sample
  3. ERROR:
  4. ImpalaRuntimeException: Error making 'dropDatabase' RPC to Hive Metastore:
  5. CAUSED BY: InvalidOperationException: Database sample is not empty. One or more
  6. tables exist.

使用级联,您可以直接删除此数据库(无需手动删除其内容),如下所示。

  1. [quickstart.cloudera:21000] > DROP database sample cascade;
  2. Query: drop database sample cascade

注意 - 您不能删除Impala中的“当前数据库”。 因此,在删除数据库之前,需要确保将当前上下文设置为除要删除的数据库之外的数据库。

使用Hue浏览器删除数据库

打开Impala查询编辑器并在其中键入DELETE DATABASE语句,然后单击执行按钮,如下所示。 假设有三个数据库,即my_db,my_database和sample_database以及默认数据库。 这里我们删除名为my_database的数据库。

删除数据库

执行查询后,轻轻将光标移动到下拉菜单的顶部。 然后,您将找到一个刷新符号,如下面的屏幕截图所示。 如果单击刷新符号,将刷新数据库列表,并将对其应用最近所做的更改。

数据库列表

验证

单击编辑器左侧标题DATABASE下的下拉菜单。 在那里,您可以看到系统中的数据库列表。 这里可以观察新创建的数据库my_db,如下所示。

落下

如果仔细观察,您只能看到一个数据库,即列表中的my_db以及默认数据库。
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号