使用hive/impala中的加载数据加载数据

ru9i0ody  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(380)

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

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

在上述声明中, age=30 是必须存储数据的分区。
如果一个.csv里面有“年龄”列呢?有没有办法让配置单元用一条load data语句将.csv的每一行正确地插入到我的person表的右侧分区中?

a2mppw5e

a2mppw5e1#

load data只支持静态分区:“当load data语句在分区表上操作时,它总是一次在一个分区上操作。”
另一方面,insert支持动态分区:“如果提到了分区键列,但没有为其赋值,[…]未赋值的列将用select列表的最后一列填充。”
因此,您可以在源数据上定义一个表,也可以选择定义一个视图来将分区列移动到最终位置,最后使用 insert into [...] select [...] 从视图填充分区表。

相关问题