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 阅读(2776) 评论(0) 编辑 收藏 举报