2015-03-02 72 views
1

我有一个csv文件,其中有600个记录,每个男性和女性300个。Hive静态分区问题

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

对于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。我是否应该为所有其他值(不在静态分区中)获取多个文件夹?如果不是,那么会发生什么?

+0

您可以添加您的csv加载? (你可以用ctrl-k格式化代码) – fxm 2015-03-02 09:14:25

+0

你能否提供用于创建&加载csv到你的Table_Temp的查询,你提供了你的字段是如何分开的? – mbaxi 2015-03-02 11:55:59

回答

0

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

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