将数据加载到配置单元动态分区表

x3naxklr  于 2021-06-29  发布在  Hive
关注(0)|答案(2)|浏览(452)

我已经创建了一个配置单元表,它在一列上具有动态分区。有没有一种方法可以使用“loaddata”语句直接从文件中加载数据?或者我们只需要创建一个非分区中间表并将文件数据加载到其中,然后将数据从这个中间表插入到分区表中,就像在分区表中加载配置单元中提到的那样?

xxhby3vn

xxhby3vn1#

如果我们需要直接插入,就需要手动指定分区。
对于动态分区,我们需要暂存表,然后从那里插入。

j91ykkif

j91ykkif2#

不,load data命令只将文件复制到目标目录。它不读取输入文件的记录,因此不能基于记录值进行分区。
如果您的输入数据已经基于分区分割成多个文件,您可以直接将这些文件复制到您手动创建的分区目录下的hdfs中的表位置(如果是外部表,则只指向它们的当前位置),然后使用下面的alter命令添加分区。这样就可以完全跳过load data语句。

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

相关问题