hive函式 -- split 字串分割函式
阿新 • • 發佈:2019-02-11
hive字串分割函式
split(str, regex) - Splits str around occurances that match regex
Time taken: 0.769 seconds, Fetched: 1 row(s)
返回值為一個數組
a.基本用法:
例1:
split('a,b,c,d',',')
得到的結果:
["a","b","c","d"]
b.擷取字串中的某個值:
當然,我們也可以指定取結果陣列中的某一項
例2:
split('a,b,c,d',',')[0]
得到的結果:
a
c.特殊字元的處理:
特殊分割符號
regex 為字串匹配的引數,所以遇到特殊字元的時候需要做特殊的處理
例3: "." 點
split('192.168.0.1','.')
得到的結果:
[]
正確的寫法:
split('192.168.0.1','\\.')
得到的結果:
["192","168","0","1"]
需要注意的是:
當然當split包含在 "" 之中時 需要加4個\
如 hive -e ".... split('192.168.0.1','\\\\.') ... " 不然得到的值是null
同樣的 | 等特殊符號也需要做類似 處理。