Impala的截断表语句用于从现有表中删除所有记录.
您还可以使用DROP TABLE命令删除完整的表,但它将从数据库中删除完整的表结构,如果您希望存储一些数据,则需要再次重新创建该表.
语法
以下是truncate table语句的语法.
truncate table_name;
示例
假设我们在Impala中有一个名为 customers 的表,如果验证其内容后,您将获得以下结果.这意味着customers表包含6条记录.
[quickstart.cloudera:21000] > select * from customers; Query: select * from customers +----+----------+-----+-----------+--------+--------+ | id | name | age | address | salary | e_mail | +----+----------+-----+-----------+--------+--------+| 1 | Ramesh | 32 | Ahmedabad | 20000 | NULL | | 2 | Khilan | 25 | Delhi | 15000 | NULL | | 3 | kaushik | 23 | Kota | 30000 | NULL || 4 | Chaitali | 25 | Mumbai | 35000 | NULL | | 5 | Hardik | 27 | Bhopal | 40000 | NULL | | 6 | Komal | 22 | MP | 32000 | NULL | +----+----------+-----+-----------+--------+--------+
以下是使用 truncate statement 截断Impala中的表的示例.这里我们删除名为 customers 的表的所有记录.
[quickstart.cloudera:21000] > truncate customers;
执行上述语句后,Impala会删除指定表的所有记录,并显示以下消息.
Query: truncate customers Fetched 0 row(s) in 0.37s
验证
如果验证customers表的内容,在删除操作之后,使用选择语句,您将得到一个空行,如下所示.
[quickstart.cloudera:21000] > select * from customers;Query: select * from customers Fetched 0 row(s) in 0.12s
使用Hue Browser截断表格
打开Impala查询编辑器并在其中键入 truncate 语句.然后单击执行按钮,如下面的屏幕截图所示.
执行查询/语句后,表中的所有记录都将被删除.