2016-07-28 83 views
0

直到蜂巢0.13版本,我可以使用下面的命令文件添加到蜂巢表的特定分區:添加文件蜂巢分區

alter table table add partition (year=2016,month=07,day=25,file_part=1) location '/home/user/data/201607/NetworkActivity_553_1051924_07-25-2016.log.gz'; 

我們的集羣得到了更新,蜂巢現在是蜂巢1.2版本。我不能,因爲它拋出下面的錯誤執行上面的命令:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:maprfs:/home/user/data/201607/NetworkActivity_553_1051924_07-25-2016.log.g is not a directory or unable to create one) 

可否請你讓我知道,從蜂巢1.2版本中,我們只能添加目錄分區?

+0

可你能做到從表中選擇.. –

+0

可你能夠從表中做選擇..最有可能你的元是過時.. –

回答

0

分區位置應該是目錄。首先創建位置爲some_directory的分區,然後將文件放入目錄。或者將文件放入某個目錄,然後使用location = directory將表添加分區。

在您的例子,這是這樣的:

alter table table add partition (year=2016,month=07,day=25,file_part=1) location '/home/user/data/201607'; 
+0

我只是想知道是否已經從配置單元0.13版本改變爲配置單元1.2版本。正如我在問題中提到的,我能夠將文件特別添加到分區,由於版本更改,現在我無法進行分區。 –

+0

據我所知它總是一樣的。在.13版本之前和之後。分區是一個文件夾。我正在研究Hortonworks。可能這是您以前的Hive版本中的一個錯誤,它允許您添加文件而不是文件夾。 – leftjoin

+0

@KSNidhin:你試過@leftjoin建議的方法嗎?它工作嗎? –