将数据加载到hive动态分区表

时间:2016-06-29 08:55:04

标签: dynamic hive partitioning

我创建了一个在列上进行动态分区的配置单元表。有没有办法使用" LOAD DATA"直接从文件加载数据?声明?或者我们是否只需要依赖于创建一个非分区的中间表并将文件数据加载到它,然后将这个中间表中的数据插入到Hive loading in partitioned table中提到的分区表中?

2 个答案:

答案 0 :(得分:0)

不,LOAD DATA命令仅将文件复制到目标目录。它没有读取输入文件的记录,因此它不能根据记录值进行分区。

如果您的输入数据已根据分区拆分为多个文件,您可以直接将文件复制到HDFS中由您手动创建的分区目录下的表位置(或者只是指向EXTERNAL表中的当前位置)并使用以下ALTER命令添加分区。这样你就可以完全跳过LOAD DATA语句。

ALTER TABLE <table-name>
ADD PARTITION (<...>)

答案 1 :(得分:-1)

没有别的,如果我们需要直接插入,我们需要手动指定分区。

对于动态分区,我们需要登台表,然后从那里插入。