hive静态分区,动态分区 -夜幕思年华

脚本数据 person.txt
夜幕1,china
夜幕2,china
夜幕3,china
夜幕4,china
年华1,India
年华2,India
年华3,India
年华4,India
- 静态分区
 1.导入脚本
 centos7,root下创建person.txt脚本,连接hive,创建表person_one。

 create table person_one (
          name string,
          nation string
         ) 
partitioned by (sex string) 
row format delimited fields terminated by ',';

导入脚本数据
load data local inpath '/root/person.txt' into table person_one partition (sex='man'); 
- 多级分区
create table person_muilt (
          name string, 
          nation string
         ) 
 partitioned by (sex string,dt string) 
 row format delimited fields terminated by ',' ; 
 
 导入脚本数据
 load data local inpath '/root/person.txt' into table person_muilt partition (sex='man',dt='2019-09-29');
 load data local inpath '/root/person.txt' into table person_muilt partition (sex='men',dt='2019-09-28');
- 动态分区
create table person_dynamic (
          name string, 
          nation string
         ) 
 partitioned by (sex string,dt string) 
 row format delimited fields terminated by ',' ; 

 设置动态分区
 set hive.exec.dynamic.partition=true;
 set hive.exec.dynamic.partition.mode=nonstrict; 
 
 导入脚本数据
 insert overwrite table person_dynamic partition(sex,dt) select name,nation,sex,dt from person_muilt;
名称默认值描述
hive.exec.dynamic.partitionfalse设置为true用于打开动态分区功能
hive.exec.dynamic.partition.modestrict设置为nonstrict能够让所有的 分区都动态被设定,否则的话至少需要制定一个分区
hive.exec.max.dynamic.partitions1000如果自动分区数大于这个参数,将会报错
hive.exec.max.dynamic.partitions.pernode1000能被每个mapper活reduce创建的最大动态分区的数目,多出数目会报错
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值