hive partition里面用函數 以及動態分區


想完成類似這樣一個需求:insert overwrite table ... partiton(dt=date_sub('2019-03-13',2))

 

當然這樣子是行不通的,partition后面那個括號里是不能用函數的,怎么辦呢?

網上一頓狂搜,找到了一個解決辦法!動態分區

上兩個鏈接就懂啦:

https://stackoverflow.com/questions/44886583/parameter-passing-to-partition-is-not-working-in-hive

https://blog.csdn.net/qq_26442553/article/details/80382174

總之就是可以執行了,方法如下:

set hive.exec.dynamic.partition=true;  
set hive.exec.dynamic.partition.mode=nonstrict;
insert into table ts.dyy_test partition(dt)
select a,b,date_sub('2019-03-23',2) dt from asdf.sldfjkskdjfllsjkkf
where dt='2019-03-15';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM