2016-07-28 86 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建议的方法吗?它工作吗? –