如果结果为0条记录,则INSERT OVERWRITE DIRECTORY不会刷新/删除数据

时间:2018-06-25 13:30:28

标签: hadoop hive hdfs hiveql beeline

这是我的查询

  

插入覆盖目录'/ myloc / output',从** emp中选择eid <123;

我在'/ myloc / output'位置有一些记录, 现在再次运行以下查询。

  

插入覆盖目录'/ myloc / output',从* emp中选择*,其中eid> 345;

如果没有没有记录,满足条件eid> 345,则结果为0条记录。在这种情况下,beeline不会删除旧数据(即eid <123)。

有没有办法告诉beeline,即使没有满足条件的记录,也要删除/刷新目录

1 个答案:

答案 0 :(得分:1)

此错误已在更高版本中修复。 https://issues.apache.org/jira/browse/HIVE-13997

作为解决方法,您可以在插入覆盖语句之前手动删除目录下的文件(不是很理想,但是可以完成工作)