【问题标题】:truncate command ( Hive vs SQL)截断命令(Hive 与 SQL)
【发布时间】:2014-06-20 09:29:29
【问题描述】:

我期待 SQL 和 HIVE 中的截断行为相同。 但它不同。 我想确认我是否理解错了

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

mysql> truncate table t1;

2) 在 HIVE 中,以下命令只是从表中删除数据。它不会删除现有的分区。我们需要手动删除它。

hive> truncate table t1;

我发现了另一个问题,如果我们将列添加到分区表并对其进行更改。那么在向表中插入覆盖数据时就会出现问题。找到的解决方法是删除表上的所有现有分区。

这是 HIVE(0.13 版)中的问题吗? 对 HIVE 和 SQL 使用 truncate 的其他区别是什么?

【问题讨论】:

标签: mysql sql hadoop truncate hiveql


【解决方案1】:

在 HIVE 中 truncate table 将删除表或分区中的所有行。

分区不会被删除。我们必须手动删除这些分区。

当前目标表应该是原生/托管表,否则会抛出异常。

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 2018-09-11
    • 1970-01-01
    • 2015-07-21
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多