博客 hive分区表之insert overwrite 注意事项

hive分区表之insert overwrite 注意事项

   数栈君   发表于 2023-09-04 10:17  196  0

hive version 3.1.3

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/31a0d5177b8258d1e1971aa112234bf9..png
  

以往我们插入分区 需要

insert ovewrite table p_table partition(period_id=‘202212’)

select id name from xxxx;

或者是

insert overwrite table

select id,name,period_id from table where period_id=202212

前者是指定分区,后者是动态分区。没啥好说的。

但是今天遇到一个问题,如果我查询的数据=0,那么数据还会覆盖么?

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/9d65f8aef4be3824ac31bd9dcde537d8..png
  

insert overwrite table dwdmdata.xxx partition (period_id = '209901')
select id ,name
from dwdmdata.dm_ce_f_debts_mandate where 1=2

insert overwrhttp://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/baf18e10d779e7197fb357b42ce6e641..png
结果

直接插入分区的,分区都没了。209901不见了

动态分区插入的 没有影响。

所以这里有个注意事项!!!! 如果我们建立了一个分区表,如果每个月都要更新数据,不要因为省事就是用动态分区插入。

比如跑上月的数据最开始有44条记录,后面业务说不对,应该一条都没有的,结果你重跑了,确实跑出了0条记录,但是你插入的时候就是不能覆盖。





免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
上一篇:Hbase架构详解
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群