【硬刚Hive】Hive基础(12):Hive语法(6) DDL(3) hive动态分区

本文介绍了Hive动态分区功能,旨在提高插入大量分区数据的效率。内容包括如何创建单一字段动态分区表,动态插入数据,处理多个分区字段的情况,以及动态分区的相关配置参数调优,帮助理解并运用Hive动态分区操作。
摘要由CSDN通过智能技术生成

往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。

1.创建一个单一字段分区表

1 hive>
2    create table dpartition(id int ,name string )
3    partitioned by(ct string  );

2.往表里装载数据,并且动态建立分区,以city建立动态分区

 1 hive>
 2  hive.exec.dynamici.partition=true;  #开启动态分区,默认是false
 3  set hive.exec.dynamic.partition.mode=nonstrict; #开启允许所有分区都是动态的,否则必须要有静态分区才能使用。
 4  insert overwrite table dpartition
 5  partition(ct)
 6  select id ,name,city from  mytest_tmp2_p; 
 7  
 8 要点:因为dpartition表中只有两个字段,所以当我们查询了三个字段时(多了city字段),所以系统默认以最后一个字段city为分区名ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知无(import_bigdata)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值