Impala 简明教程

Impala - Drop a Table

Impala drop table 语句用于删除 Impala 中的现有表。此语句还删除内部表的底层 HDFS 文件。

NOTE − 使用此命令时必须小心,因为一旦删除了表,表中可用的所有信息也将永远丢失。

Syntax

以下是 DROP TABLE 语句的语法。在此处, IF EXISTS 是一个可选子句。如果我们使用此子句,则仅当存在表时,才会删除具有给定名称的表。否则,将不执行任何操作。

DROP table database_name.table_name;

如果您尝试在没有 IF EXISTS 子句的情况下删除不存在的表,将生成一个错误。您可以选择性地指定 database_name 与 t*able_name* 一起。

Example

让我们首先验证数据库 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 的示例。在此示例中,我们从数据库 my_db 中删除了名为 student 的表。

[quickstart.cloudera:21000] > drop table if exists my_db.student;

执行上述查询后,将删除指定名称的表,并显示以下输出。

Query: drop table if exists student

Verification

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

Creating a Database using Hue Browser

打开 Impala 查询编辑器,并在其中输入 drop Table 语句。然后,单击执行按钮,如下面的屏幕截图所示。

creating database

执行查询后,轻轻将光标移到下拉菜单顶部,您将找到一个刷新符号。如果您单击刷新符号,将刷新数据库列表,并将对它的最新更改应用到其中。

creating database dropdown

Verification

单击编辑器左侧标题 DATABASE 下方的 drop down 。在那里,你可以看到一个数据库列表;如下所示,选择数据库 my_db

creating database verification

在选择数据库 my_db 时,你可以看到其中的表格列表,如下所示。在这里,你无法找到已删除的表格 student ,如下所示。

creating database my db