Hive静态分区问题

Hive static partitions issue

我有一个 csv 文件,其中有 600 条记录,男性和女性各 300 条记录。

我创建了一个 Table_Temp 并在 table 中填写了所有这些记录。然后,我创建 Table_Main 并使用 gender 作为分区列。

对于Temp_Table查询是:

Create table if not exists Temp_Table
(id string, age int, gender string, city string, pin string)
row format delimited
fields terminated by ','; 

然后我写下面的查询:

Insert into Table_Main
partitioned (gender)
select a,b,c,d,gender from Table)Temp

问题:我正在 /user/hive/warehouse/mydb.db/Table_Main/gender=Male/000000_0

中获取文件

在这个文件中,我总共得到 600 条记录。我不确定发生了什么,但我期望的是我应该在此文件中获得 300 条记录(仅限男性)。

问:1。我哪里弄错了?

问:2。我不应该为所有其他值(不在静态分区中)再获取一个文件夹吗?如果不是,那些会怎样?

在静态分区中,我们需要在向分区table插入数据时指定一个where条件。(我没有这样做)。

为此我们可以使用不带where条件的动态分区。