我有一个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。我是否应该为所有其他值(不在静态分区中)再获取一个文件夹?如果不是,那会发生什么?
答案 0 :(得分:0)
在静态分区中,我们需要在将数据插入分区表时指定where条件。(我还没有这样做)。
为此我们可以在没有where条件的情况下使用动态分区。