HIVE中常见函数记录

1、URL解析函数

parse_url(url, partToExtract[, key]) 

解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AUTHORITY,USERINFO]

备注:partToExtract的选项必须是大写!小写不报错但是数据为NULL。

select parse_url('https://blog.csdn.net/iilegend/article/details/90316385','HOST') from dim_kpi;

 

select parse_url('https://blog.csdn.net/iilegend/article/details/90316385','PATH') from dim_kpi;

2、字符串连接函数,需要是 string型字段。

concat(str1,SEP,str2,SEP,str3,……) 和 concat_ws(SEP,str1,str2,str3, ……) 

select concat('江苏省','-','南京市','-','玄武区','-','徐庄软件园');

select concat_ws('-','江苏省','南京市','玄武区','徐庄软件园');

这两个语句的结果都是一样的:

concat_ws的第一个参数是分隔符,第二个及其以后的参数都以第一个参数为分隔符进行字符串连接。

concat 就是简单将所有的参数进行字符串连接。

结论:当连接的内容(字段)多于2个的时候,concat_ws的优势就显现了,写法简单、方便。

3、时间的相关函数,详细见上一篇博客。

4. regexp_replace(string A, string B, string C) 字符串替换函数,将字符串A 中的B 用 C 替换。

select regexp_replace('www.tuniu.com','tuniu','jd');

5、trim(string A) 删除字符串两边的空格,中间的会保留。

相应的 ltrim(string A) 左边删除空格

           ,rtrim(string A)  右删除空格

 6、if 语句

第一个参数是判断语句,结果为true,那么执行第二个参数,false就执行第三个参数

(就是简单的if--else函数)

select if(length('aaa')==3,'是3','不是3')

7、nvl(T value, T default_value) 如果T is null ,返回默认值(注意是null才行,空值返回的还是空值)

select nvl(null,'abcd')

8、split(str, regex) ,安装规则截取字符串,返回数组(这个效率就比较慢了。)

select split('zhansan-lisi-wangwu','-')

 

select split('zhansan-lisi-wangwu','-')[0]

如果是特殊字段,需要转义,如:

select split('大阪酒店|$新丽饭店','\\|\\$')[0];

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值