RICH-ATONE

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函数切分过后,正好是生成数组。

posted on 2020-09-23 23:14  RICH-ATONE  阅读(2732)  评论(0编辑  收藏  举报

导航