Impala - DROP TABLE 语句
Impala drop table 语句用于删除 Impala 中的现有表。 此语句还删除了内部表的基础HDFS文件
注意− 使用此命令时必须小心,因为一旦表被删除,表中的所有可用信息也将永远丢失。
语法
以下是DROP TABLE语句的语法。 这里,IF EXISTS 是一个可选子句。 如果我们使用此子句,则仅删除具有给定名称的表(如果该表存在)。 否则,不会进行任何操作。
DROP table database_name.table_name;
如果尝试删除不存在 IF EXISTS 子句的表,则会生成错误。 您可以选择指定database_name 和table_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个表
以下是删除表语句的示例。 在此示例中,我们将从数据库 my_db 中删除名为 student 的表。
[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 table 查询获取表列表,您可以观察到名为 student 的表不在列表中。
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | customers | | employee | | student | +-----------+ Fetched 3 row(s) in 0.11s
使用 Hue 浏览器创建数据库
打开 Impala 查询编辑器并在其中键入 drop Table 语句。 然后单击执行按钮,如下图所示。
执行查询后,将光标轻轻移动到下拉菜单的顶部,您将看到一个刷新符号。 如果单击刷新符号,数据库列表将被刷新,并且最近所做的更改将应用到其中。
验证
单击编辑器左侧数据库标题下的下拉菜单。 在那里你可以看到数据库列表; 选择数据库my_db,如下所示。
选择数据库my_db后,您可以看到其中的表列表,如下所示。 这里在列表中找不到被删除的表student,如下所示。