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

Dynamic 将数据加载到配置单元动态分区表,dynamic,hive,partitioning,Dynamic,Hive,Partitioning,我已经创建了一个配置单元表,它在一个列上具有动态分区。有没有一种方法可以使用“LOADDATA”语句直接从文件中加载数据?或者我们只需要创建一个非分区中间表并将文件数据加载到其中,然后将数据从该中间表插入分区表中,如中所述?否,加载数据命令仅将文件复制到目标目录。它不读取输入文件的记录,因此无法根据记录值进行分区 如果您的输入数据已基于分区拆分为多个文件,则可以直接将这些文件复制到HDFS中由您手动创建的分区目录下的表位置(或在外部表的情况下仅指向其当前位置),并使用以下ALTER命令添加分区。

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

否,加载数据命令仅将文件复制到目标目录。它不读取输入文件的记录,因此无法根据记录值进行分区

如果您的输入数据已基于分区拆分为多个文件,则可以直接将这些文件复制到HDFS中由您手动创建的分区目录下的表位置(或在外部表的情况下仅指向其当前位置),并使用以下ALTER命令添加分区。这样,您可以完全跳过LOAD DATA语句

ALTER TABLE <table-name>
ADD PARTITION (<...>)
ALTER表
添加分区()

别无选择,如果需要直接插入,则需要手动指定分区


对于动态分区,我们需要staging table,然后从那里插入。

对于外部表,在将文件放入目录后,我们可以运行msck命令自动创建分区吗?