静态分区
静态分区需要制定分区字段在加载数据时制定分区
单个分区
create table order_cost(
name string,
input_time string,
money double
)
PARTITIONED BY(input_month string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
load data local inpath '/root/cost.txt' overwrite into table order_cost;
不指定分区会报错
Need to specify partition columns because the destination table is partitioned
load data local inpath '/root/cost.txt' overwrite into table order_cost
PARTITION (input_month='2018-05');
hive> select * from order_cost;
OK
张三 2018-10-01 50.0 2018-05
张三 2019-01-02 100.0 2018-05
张三 2019-03-04 150.0 2018-05
李四 2018-10-11 80.0 2018-05
李四 2019-01-12 110.0 2018-05
李四 2019-03-02 180.0 2018-05
王五 2018-10-15 190.0 2018-05
王五 2019-01-08 200.0 2018-05
王五 2019-03-06 300.0 2018-05
赵二 2018-03-10 80.0 2018-05
多个分区
create table order_mulit_cost(
name string,
input_time string,
money double
)
PARTITIONED BY(input_month string,day string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
load data local inpath '/root/cost.txt' overwrite into table order_mulit_cost
PARTITION (input_month='2018-05',day='1');
hive> select * from order_mulit_cost;
OK
张三 2018-10-01 50.0 2018-05 1
张三 2019-01-02 100.0 2018-05 1
张三 2019-03-04 150.0 2018-05 1
李四 2018-10-11 80.0 2018-05 1
李四 2019-01-12 110.0 2018-05 1
李四 2019-03-02 180.0 2018-05 1
王五 2018-10-15 190.0 2018-05 1
王五 2019-01-08 200.0 2018-05 1
王五 2019-03-06 300.0 2018-05 1
赵二 2018-03-10 80.0 2018-05 1