hive sql split 分隔符

Posted 江枫1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive sql split 分隔符相关的知识,希望对你有一定的参考价值。

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

 

同样的 | 等特殊符号也需要做类似 处理。


以上是关于hive sql split 分隔符的主要内容,如果未能解决你的问题,请参考以下文章

hive split 如何取最后一个分隔符

Hive 分隔符使用:

Hive SQL DDL语法 - 指定分隔符指定存储路径

关于在Hive中将特定字符分隔的字符串拆分成多行的应用

Hive load外部文件时如何区别分隔符与文本内容

T-SQL拆分使用指定分隔符的字符串(split string)