如果SELECT返回0行,INSERT OVERWRITE是否会创建新的空分区

时间:2016-08-15 04:57:47

标签: hive

假设我们在某个列col上分区了一个表。

假设分区col ='abc'尚不存在。

我们尝试插入行: -

INSERT OVERWRITE TABLE MyTable PARTITION(col='abc')
SELECT 
.
.
.

现在如果SELECT返回0行怎么办?这仍然会创建一个分区col ='abc'作为空分区(为空,因为该分区不包含任何数据)。简而言之 - 它会创建一个文件夹col ='abc',下面没有文件吗?

1 个答案:

答案 0 :(得分:2)

是的,即使SELECT返回0结果,也会创建空分区。要了解分区是否已创建,您可以检查该任务是否已成功完成并再次运行SELECT部分并检查它是否未返回数据。