当前位置:   article > 正文

hive分区表之insert overwrite 注意事项_hive insert overwrite table

hive insert overwrite table

hive version 3.1.3

以往我们插入分区 需要

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,那么数据还会覆盖么?

insert overwrite table dwdmdata.xxx partition (period_id = '209901')

select id ,name

from dwdmdata.dm_ce_f_debts_mandate where 1=2  

insert overwrite table dwdmdata.xxx

select id ,name,'209902' as period_id

from dwdmdata.dm_ce_f_debts_mandate where 1=2 

 

 结果

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/397224
推荐阅读
相关标签
  

闽ICP备14008679号