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';

posted @ 2019-05-28 11:32  语遥  阅读(1758)  评论(0编辑  收藏  举报