2016-02-29 82 views
0

我使用Hive從S3加載一些文本文件。目前,該結構如下:配置單元中的分區表

bucket/dir/id/text_files 

的問題是,<id>目錄不具有「用戶= ID」是蜂巢似乎喜歡加載分區格式。通常情況下,如果目錄是桶/ DIR/USER = ID,我可能只是這樣做:

CREATE EXTERNAL TABLE IF NOT EXISTS table1 (
    data STRING 
) PARTITIONED BY (user STRING) 
LOCATION 'bucket/dir'; 

但是,因爲我沒有爲分區目錄中的正確格式,我怎麼會去這樣做的同樣的事情,也就是說我想要一個名爲user的分區,並使其與已經存在的id相等?

謝謝你的幫助。

+0

不確定這一點,但如果您在添加分區時明確設置了位置,則可能會按照指定的方式工作。 'ADD PARTITION(user ='bla')LOCATION'bucket/dir/bla';' – LiMuBei

+0

問題是我有一堆預先存在的數據,並且想要加載它。 – intl

+0

您必須添加分區無論如何,單獨的表定義是不夠的。 – LiMuBei

回答

0

我希望這是適合你的工作。

load data inpath 'bucket/dir/user=id' overwrite into table table1 partition(user='id'); 
相關問題