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