Hive学习笔记(HiveQL数据查询进阶)
Hive内置函数
Hive函数是Hive数据仓库工具帮助开发者提供的函数。
数学函数
加法‘+’函数的应用代码如下:
hive>select 10+2;

减法‘-’函数的应用代码如下:
hive>select 10-2;

乘法‘*’函数的应用,代码如下:
hive> select 10*2;

除法‘/’函数的应用,代码如下:
hive> select 10/2;

round 四舍五入函数的应用,代码如下:
hive>select round (88.947,2);

ceil向上取正函数的应用,代码如下:
hive> select ceil(88.9);

floor乡下取整的函数应用,代码如下:
hive>select floor(88.9);

pow取平方函数的应用,代码如下:
hive>select pow(3,2);

pmod取模函数,即取余数的应用,代码如下:
hive>select pmod(13,3);

字符函数
1.lower转小写函数
将字符串’ABCD’转化为小写字符串‘abcd’代码如下:
hive>select lower("ABCD");

2.upper转大写函数
将字符串“abcd”转化为“ABCD”;
hive>select upper("abcd");

3.length字符串长度函数
获取字符串“hadoop”的长度,代码如下:
hive>select length("hadoop");

4.concat字符串拼接函数
完成hadoop和spark的合并
hive>select concat("hadoop","&spark");

5.substr求子串函数
substr(a,b):从字符串a中的第b位开始取,取右边所有的字符。
例:求hadoop从第三位开始取右边所有的字符,代码如下:
hive>select substr("hadoop",3);

substr(a,b,c):从字符串a中的第b位取c个字符。
6.trim去前后空格函数
trim(str)是指,将字符串str前后出现的空格剔除
hive>select trim(" hadoop " );

7.get_json_object用于处理json格式数据的函数
转换函数
类型转换函数cast的应用,代码如下:
hive>select cast(99 as double);
hive>select cast("2020-1-30" as date);


日期函数
使用yera、month和day分别获取年份、月份、日的函数。
to_data返回日期的时间字段中的日期部分。
hive>select to_date ("2019-9-16 14:36:40");

条件函数
case…when…是,条件表达式,语法格式为caseA when B then C [when D then E]*[else F] end。对于A来说,如果判断B则返回C如果判断为D则返回E,如果以上都不是则返回F,最后还要有一个end结束符。
hive>select ename,job,sal,case job when 'manager' then sal+2000 when 'clerk' then sal+1000 else sal+400 end from emp;

聚合函数
1.count:返回函数
例:求员工表中员工的总人数:
hive>select count(*) from emp;

2.sum:组内某列求和函数
例:求员工表员工工资总计
hive>select job,sum(sal) from emp group by job;

3.min:组内某列最小值:
统计员工各岗位的最小工资金额,代码如下:
hive>select job,min(sal) from emp group by job;
4.max:组内某列最大值:
统计员工表中各岗位的最大工资金额,代码如下:
hive>select job,max(sal) from emp group by job;
5.avg:组内某列平均值
统计员工表中个岗位的平均工资金额,代码如下:
hive>select job,avg(sal) from emp group by job;
Hive构建搜索引擎日志数据分析系统
数据预处理(Linux环境)
引擎搜索日志数据的数据格式为:访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL地址。其中ID是根据用户使用浏览器访问搜索引擎时的cookie信息自动赋值的。
1.查看数据
进入实验数据文件夹用less命令查看:
less sogou.500w.utf8
查看数据总行数的命令如下:
wc -l sogou.500w.utf8
2.数据加载
将数据加载到HDFS,命令如下:
hdfs dfs -mkdir -p /sogou/20111230
hdfs dfs -put /home/hadoop/sogou.500w.utf8 /sogou/20111230
hdfs dfs -mkdir -p /sogou_ext/20111230
hdfs dfs -put /home/sogou.500w.utf8 /sogou_ext/20111230
本文详细介绍了Hive的各种内置函数,包括数学、字符、转换、日期、条件和聚合函数,并提供了实例代码。此外,还讲解了如何利用Hive构建搜索引擎日志数据分析系统,涵盖数据预处理的步骤。
&spm=1001.2101.3001.5002&articleId=121643602&d=1&t=3&u=3c83549477a84e018e0aa32070f4e1d8)
1672

被折叠的 条评论
为什么被折叠?



