将文件添加到hive分区

时间:2016-07-28 00:20:06

标签: hadoop hive impala apache-hive

直到hive 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';

我们的群集已更新,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版本我们只能添加目录到分区?

1 个答案:

答案 0 :(得分: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';