Impala - 删除表

Impala drop table 语句用于删除Impala中的现有表.此语句还删除内部表的基础HDFS文件

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

语法

以下是 DROP TABLE 语句的语法.这里, IF EXISTS 是一个可选条款.如果我们使用此子句,则只有具有给定名称的表才会被删除.否则,将不执行任何操作.

 
 DROP table database_name.table_name;

如果在没有IF EXISTS子句的情况下尝试删除不存在的表,则会生成错误.您可以选择指定 database_name 以及t able_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语句的示例.在此示例中,我们将从数据库 my_db 中删除名为 student 的表.

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

在执行上述查询时,将删除具有指定名称的表,显示以下输出.

Query: drop table if exists student

验证

show Tables query提供Impala中当前数据库中的表的列表.因此,您可以使用显示表语句验证表是否已删除.

首先,您需要将上下文切换到数据库中所需的表存在,如下所示.

[quickstart.cloudera:21000] > use my_db; 
Query: use my_db

然后,如果使用 show tables 查询获得表列表,则可以观察名为学生的表格不在列表中.

[quickstart.cloudera:21000] > show tables; 

Query: show tables 
+-----------+ 
| name      | 
+-----------+ 
| customers | 
| employee  | 
| student   | 
+-----------+ 
Fetched 3 row(s) in 0.11s

创建一个使用Hue Browser的数据库

打开Impala查询编辑器并在其中键入 drop table 语句.然后单击执行按钮,如以下屏幕截图所示.

创建数据库

执行查询后,轻轻地将光标移动到下拉菜单的顶部,您将找到一个刷新符号.如果单击刷新符号,将刷新数据库列表并应用最近完成的更改.

创建数据库下拉列表

验证

点击标题 DATABASE 下拉列表>在编辑器的左侧.在那里你可以看到一个数据库列表;选择数据库 my_db ,如下所示.

创建数据库验证

在选择数据库 my_db 时,您可以看到其中的表列表,如下所示.在这里,您无法在列表中找到已删除的表学生,如下所示.

创建数据库MY DB