hive中split后计算最后指定位数的字段值(从后往前推的索引值)


假设字段样式如下:

a,b,c,d

a,c,b

a,f,g,h,j

想要取出倒数第一位的数(结果如下):

c

c

h

实现如下:

方法一:

select  split(temp_column,',')[size(split(temp_column,',')-1)] from test001 ;

方法二:

select reverse(split(reverse(temp_column),',')[1]) as temp_column from test001 ;      ps:针对中文可能会有bug

方法三:

select  temp_column, split(temp_column,',')[count(c1)-1] from test001 lateral view explode(temp_column,',')) num as c1 ;

 

 

总结 :主要使用到的函数有 size 、split、reverse、lateral view explode 这几个函数
size一般针对的数组,split函数切分过后,正好是生成数组。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM