Hive-部分函数解析

1   array(ele1 , ele2...)

创建数组 数组是hive中的一种集合数据类型  和 java中的数组一样

select array(1,2,3,4) ;

select array(1,2,3,4)[0] ;

2  array_contains(arr , element) 

查看arr数组中是否含有element字段

select array_contains(array('a','ab','abc','abcd'),'aa') ;

select array_contains(array('a','ab','abc','abcd'),'a') ;

3  upper    lower 

将字符串转换成大写或者小写

select lower('ABC') ;

select upper('abc');

4  split(str , seq)

切割字符串 返回数组arr

str  字符串

seq  切割规则

select split('hello-word','-');

5  trim(str)

去除字符串首尾的空格

select trim('    hello  ');

6  uuid()

生成随机字符串

select uuid();

7  replace(str1,str2,str3)

字符串的替换

str1  字符串

str2  要被替换的字符串

str3  替换成新的字符串

select replace ("helloword","l","q");

8  substr(str ,startind,length)

切割字符串

str  字符串

startind  切割的起始位置

length  切割的长度

select substr('helloword',2,5);

  • substring_index(str, delim, count)

从字符串str返回分隔符delim出现次数之前的子字符串

select substring_index("a-b-c","-",2) ;

9  concat(str1, str2, ... strN)

字符串的拼接  参数是可变参数  拼接字符串

select concat ('aa',',','bbb');

  • concat_ws(separator, [string | array(string)]+)

拼接字符串 

separator    拼接符

[string | array(string)]+   字符串或者数组

select concat_ws('-','a','b','c');

10.  collect

  • collect_set

返回消除重复元素的一组对象

  • collect_list

返回具有重复项的对象列表

select 
xz,
xx,
collect_list(name)
from 
tb_tea
group by xz ,xx;

11.  explode(a)

将数组a的元素分隔为多行,或将映射的元素分隔为多行和多列

select 
explode(split(typ,','))
from
tb_movie2;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值