千家信息网

好程序员大数据学习路线hive内部函数

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,好程序员大数据学习路线hive内部函数,持续为大家更新了大数据学习路线,希望对正在学习大数据的小伙伴有所帮助。1、取随机数函数:rand()语法: rand(),rand(int seed) 返回值:
千家信息网最后更新 2026年11月03日好程序员大数据学习路线hive内部函数

好程序员大数据学习路线hive内部函数,持续为大家更新了大数据学习路线,希望对正在学习大数据的小伙伴有所帮助。
1、取随机数函数:rand()
语法: rand(),rand(int seed) 返回值: double 说明: 返回一个0到1范围内的随机数。如果指定seed,则会得到一个稳定的随机数序列
select rand();
select rand(10);
2、分割字符串函数:split(str,splitor)
语法: split(string str, string pat) 返回值: array 说明: 按照pat字符串分割str,会返回分割后的字符串数组,注意特殊分割符的转义
select split(5.0,".")[0];
select split(rand(10)100,".")[0];
3、字符串截取函数:substr,substring
语法: substr(string A, int start),substring(string A, int start) 返回值: string 说明:返回字符串A从start位置到结尾的字符串
语法: substr(string A, int start, int len),substring(string A, int start, int len) 返回值: string 说明:返回字符串A从start位置开始,长度为len的字符串
select substr(rand()
100,0,2);
select substring(rand()100,0,2);
4、If函数:if
语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull
select if(100>10,"this is true","this is false");
select if(2=1,"男","女");
select if(1=1,"男",(if(1=2,"女","不知道")));
select if(3=1,"男",(if(3=2,"女","不知道")));
5、条件判断函数:CASE
第一种格式:
语法: CASE WHEN a THEN b [WHEN c THEN d]
[ELSE e] END 返回值: T 说明:如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e
第二种格式:
语法: CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 返回值: T 说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f
select
case 6
when 1 then "100"
when 2 then "200"
when 3 then "300"
when 4 then "400"
else "others"
end
;
##创建表
create table if not exists cw(
flag int
)
;
load data local inpath '/home/flag' into table cw;
##第一种格式
select
case c.flag
when 1 then "100"
when 2 then "200"
when 3 then "300"
when 4 then "400"
else "others"
end
from cw c
;
##第二种格式
select
case
when 1=c.flag then "100"
when 2=c.flag then "200"
when 3=c.flag then "300"
when 4=c.flag then "400"
else "others"
end
from cw c
;
6、正则表达式替换函数:regexp_replace
语法: regexpreplace(string A, string B, string C) 返回值: string 说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexpreplace函数
select regexp_replace("1.jsp",".jsp",".html");
7、类型转换函数: cast
语法: cast(expr as ) 返回值: Expected "=" to follow "type" 说明: 返回转换后的数据类型
select 1;
select cast(1 as double);
select cast("12" as int);
8、字符串连接函数:concat;带分隔符字符串连接函数:concat_ws
语法: concat(string A, string B…) 返回值: string 说明:返回输入字符串连接后的结果,支持任意个输入字符串
语法: concat_ws(string SEP, string A, string B…) 返回值: string 说明:返回输入字符串连接后的结果,SEP表示各个字符串间的分隔符
select "千峰" + 1603 + "班级";
select concat("千峰",1603,"班级");
select concat_ws("|","千峰","1603","班级");
9、排名函数:
rownumber(): 名次不并列 rank():名次并列,但空位 denserank():名次并列,但不空位
##数据
id class score
1 1 90
2 1 85
3 1 87
4 1 60
5 2 82
6 2 70
7 2 67
8 2 88
9 2 93

1 1 90 1
3 1 87 2
2 1 85 3
9 2 93 1
8 2 88 2
5 2 82 3

create table if not exists uscore(
uid int,
classid int,
score double
)
row format delimited fields terminated by '\t'
;
load data local inpath '/home/uscore' into table uscore;
select
u.uid,
u.classid,
u.score
from uscore u
group by u.classid,u.uid,u.score
limit 3
;
select
u.uid,
u.classid,
u.score,
row_number() over(distribute by u.classid sort by u.score desc) rn
from uscore u
;
取前三名
select
t.uid,
t.classid,
t.score
from
(
select
u.uid,
u.classid,
u.score,
row_number() over(distribute by u.classid sort by u.score desc) rn
from uscore u
) t
where t.rn < 4
;
查看三个排名区别
select
u.uid,
u.classid,
u.score,
row_number() over(distribute by u.classid sort by u.score desc) rn,
rank() over(distribute by u.classid sort by u.score desc) rank,
dense_rank() over(distribute by u.classid sort by u.score desc) dr
from uscore u
;
10.聚合函数:
min() max() count() count(distinct ) sum() avg()
count(1):不管正行有没有值,只要出现就累计1 count(*):正行值只要有一个不为空就给类计1 count(col):col列有值就累计1 count(distinct col):col列有值并且不相同才累计1
11.null值操作
几乎任何数和 NULL操作都返回NULL
select 1+null;
select 1/0;
select null%2;
12.等值操作
select null=null; #null
select null<=>null;#true

字符 字符串 函数 语法 数据 格式 学习 名次 班级 随机数 输入 路线 位置 分隔符 条件 正则 空位 类型 结果 表达式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州百单互联网科技有限公司 互联网科技公司的优势 网络科技有限互联网 奇酷互联网科技 朗涯互联网科技 睿民互联网科技 成都狮子座互联网科技 多迪互联网科技有限公司 科技类的互联网平台 衡水科技产业互联网平台 互联网系的金融科技公司 来此购互联网科技有限公司 注册互联网科技公司经营范围大全 互联网新科技动漫ppt素材 保险科技服务互联网营销体系 厦门江牛科技互联网 新氧科技和美国互联网有关系吗 美国五大互联网科技公司市值多少 盐城市攀科互联网科技有限公司 互联网领先科技成果宣传视频 互联网医疗科技 碳银互联网科技 齐家互联网科技有限公司 互联网金融科技委员会 中国科技互联网公司收入 中国互联网十大科技股排名 科技类公司包括互联网吗 互联网与数字科技关系 广东鹅鹅鹅互联网科技有限公司 银川新华互联网科技学校招聘
0