📅  最后修改于: 2020-11-30 05:02:47             🧑  作者: Mango
Impala删除表语句用于删除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个表
以下是drop table语句的示例。在此示例中,我们将从数据库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
然后,如果使用显示表查询获得表列表,则可以观察到名为student的表不在列表中。
[quickstart.cloudera:21000] > show tables;
Query: show tables
+-----------+
| name |
+-----------+
| customers |
| employee |
| student |
+-----------+
Fetched 3 row(s) in 0.11s
打开Impala查询编辑器,然后在其中输入放置表语句。然后单击执行按钮,如以下屏幕截图所示。
执行查询后,将光标轻轻移至下拉菜单的顶部,您会发现一个刷新符号。如果单击刷新符号,将刷新数据库列表,并将最近所做的更改应用到该列表。
单击编辑器左侧“数据库”标题下的下拉菜单。在那里,您可以看到数据库列表。选择数据库my_db ,如下所示。
选择数据库my_db时,您可以在其中看到一个表列表,如下所示。在这里,您无法在列表中找到已删除的学生表格,如下所示。