Hive静态分区问题

时间:2015-03-02 09:02:26

标签: hadoop hive hiveql

我有一个csv文件,其中有600条记录,每条记录有300条记录。

我创建了一个Table_Temp并填写该表中的所有这些记录。然后,我创建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。我是否应该为所有其他值(不在静态分区中)再获取一个文件夹?如果不是,那会发生什么?

1 个答案:

答案 0 :(得分:0)

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

为此我们可以在没有where条件的情况下使用动态分区。