使用HIve / Impala中的加载数据加载数据

时间:2016-09-01 13:51:04

标签: hive impala

我可以使用以下命令将数据加载到配置单元中:

LOAD DATA   INPATH '/xx/person/a.csv' INTO TABLE person PARTITION (age = 30);

在上面的语句中,age=30是必须存储数据的分区。

如果 a.csv 实际上有年龄栏,该怎么办?有没有办法让hive使用一个LOAD DATA语句正确地将a.csv的每一行插入到右侧分区下的person表中?

1 个答案:

答案 0 :(得分:1)

LOAD DATA仅支持静态分区:“当LOAD DATA语句在分区表上运行时,它总是一次在一个分区上运行。”

另一方面,

INSERT支持动态分区:“如果提到了分区键列但未分配值,则[...]未分配的列将填入SELECT的最后一列列表“。

所以你可以做的是在源数据上定义一个表,也可以定义一个视图来将分区列移动到最终位置,最后使用insert into [...] select [...]从视图中填充分区表。 / p>

相关问题