数据表格式如下
name,year,month,day
4个字段,后三个是分区字段
然后现有一csv文件内容为
jamie,1996,04,10
hims,1995,05,17
kash,1997,12,11
怎么在使用load data导入的时候成功导入,并且自动创建分区?
求语句
问过老大了,只能指定分区,不能自动分区
LOAD DATA LOCAL INPATH 'csv文件路径'
INTO TABLE 标名称 PARTITION (day = '2018-04-13')
可以是可以但是要两步操作
1,先导入到一张没有分区的表里面temp
2, 创建分区表
CREATE TABLE test ( name string) PARTITIONED BY (year string, month string , day string) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
2,执行下面代码
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
insert overwrite table test
partition (year,month,day)
select name, year, month, day from temp;
3, 注意插入的顺序一定得按建表的字段顺序一样