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