2015-03-02 121 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條件(我還沒有完成)。

爲此,我們可以在沒有條件的情況下使用動態分區。