Mysql truncate命令(配置单元vs SQL)

Mysql truncate命令(配置单元vs SQL),mysql,sql,hadoop,truncate,hiveql,Mysql,Sql,Hadoop,Truncate,Hiveql,我期望SQL和HIVE中的truncate具有相同的行为。 但情况不同。 我想确认我是否错误地理解了它 1) 在SQL中,以下命令将删除表并再次创建。如果存在,则删除所有分区 mysql> truncate table t1; 2) 在配置单元中,以下命令仅从表中删除数据。它不会删除现有分区。我们需要手动删除它 hive> truncate table t1; 我发现了另一个问题,如果我们在分区表中添加列并对其进行修改。然后将覆盖数据插入到表中会出现问题。找到的解决办法是删除表上

我期望SQL和HIVE中的truncate具有相同的行为。 但情况不同。 我想确认我是否错误地理解了它

1) 在SQL中,以下命令将删除表并再次创建。如果存在,则删除所有分区

mysql> truncate table t1;
2) 在配置单元中,以下命令仅从表中删除数据。它不会删除现有分区。我们需要手动删除它

hive> truncate table t1;
我发现了另一个问题,如果我们在分区表中添加列并对其进行修改。然后将覆盖数据插入到表中会出现问题。找到的解决办法是删除表上的所有现有分区

这是HIVE(版本0.13)中的问题吗?
对配置单元和SQL使用truncate还有什么区别?

在配置单元
中,truncate table
将删除表或分区中的所有行

无法删除分区。我们必须手动删除这些分区


当前目标表应为本机/托管表,否则将引发异常。

此链接可能对您有所帮助