Hive函数和查询(持续更新)

一、函数

(一)常用函数

字符函数:

  concat(String s1,String sep,String s2);使用连接符将两个字符串连接在一起
  例 :select concat("abc","+","def");//结果:abc+def
  
  concat(String s1,String s2);若不加连接符,直接将两个字符串连接在一起;
  例:select concat("abc","def"); //结果为:abcdef
  
   concat_ws(string sep,array<string>/string...array);将字符串或者数组以分隔符连接起来
   例:select concat_ws('-',array('aa','bb'));//结果为:aa-bb
   例:select concat_ws('-','aa','bb');//结果为:aa-bb 
 
  array<array<string>> 	sentences(string sentence)#拆词(!和?是将目标以!或者?拆成两个部分)
  例:select sentences('hello kb10,how are you');//结果为 :[["hello","kb10","how","are","you"]] 
  例:select sentences('hello kb10!how are you');//结果为:[["hello","kb10"],["how","are","you"]]
  
  ascii(String a);返回字符串的ASC码;

(二)、窗口函数

排序:

row_number():  排序时从1开始自增,相当于是自增列,1,2,3,4,5...
rank():		   排序时从1开始,出现相同值时空缺,1,2,2,4,4,6...
dense_rank():  排序时从1开始,出现相同值时不留空缺:1,2,2,3,3,4...
cume_dist:     从小于等于当前值的行数/分组内总行数(占比)比如:统计小于等于当前薪水的行数(人数,一行代表一个人),所占总行数(人数)的比例
percent_rank():分组内当前行的rank值-1/分组内总行数-1
ntile(n):      用于将分组数据按照顺序切分成n片,返回当前切片值,如果切片不均匀,默认正价第一个切片的分布。
			   ntile不支持rows between,
			  比如 ntile(2) over(partition by cookieid order by createtime rows between 3 preceding and current row)

分析:
cume_dist
lead(col,n,default)
lag(col,n,default)

二、 查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值