0

在 hive 0.13 版本之前,我能够使用以下命令将文件添加到 hive 表的特定分区:

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';

我们的集群已更新,hive 现在是 hive 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)

您能否告诉我,从 hive 1.2 版本开始,我们只能将目录添加到分区?

4

1 回答 1

0

分区位置应该是目录。首先使用 location=some_directory 创建分区,然后将文件放入目录。或者将文件放入某个目录,然后使用 location = directory 更改表添加分区。

在你的例子中是这样的:

alter table table add partition (year=2016,month=07,day=25,file_part=1) location '/home/user/data/201607';
于 2016-07-28T07:15:31.783 回答