substr hive(HiveSQL核心技能之常用函数)

本文目录
HiveSQL核心技能之常用函数
目标:
1、掌握hive基础语法、常用函数及其组合使用
2、掌握一些基本业务指标的分析思路与实现技巧
1)某次经营活动中,商家发起了“异性拼团购”,试着针对某个地区的用户进行推广,找出匹配用户。
注意:如果该表是一个分区表,则where条件中必须对分区字段进行限制
2)选出在2018年12月31日,购买的商品品类是food的用户名、购买数量、支付金额
3)试着对本公司2019年第一季度商品的热度与价值度进行分析。
"2019年一月到三月,每个品类有多少人购买,累计金额是多少"
GROUP BY ... HAVING(分类汇总过滤)
4)找出在2019年4月支付金额超过5万元的用户,给这些VIP用户赠送优惠券
5)2019年4月,支付金额最多的TOP5用户
查看Hive中的函数:show functions;
查看具体函数的用法:1)desc function 函数名;2)desc function extended函数名;
6)
7)用户的首次激活时间,与2019年5月1日的日期间隔。
datediff(string enddate,string startdate):结束日期减去开始日期的天数
拓展:日期增加函数(增加天数)、减少函数(减少天数) —— date_add、date_sub(类型要是string类型的)
date_add(string startdate,int days)、date_sub(string startdate,int days)
case when 函数
8)统计以下四个年龄段20岁以下、20-30岁、30-40岁、40岁以上的用户数
case when 的时候不用加group by,只有在聚合函数的时候才需要group by
if 函数
9)统计每个性别的用户等级高低分布情况(假设level大于5为高级,注意列名不能使用中文的)
10)分析每个月都拉新情况
substring(stringA,INT start,int len),substr(stringA,INT start,int len),截取起始位置和截取长度
extra1需要解析json字段,然后用$.key取出想要获取的value;
extra2使用的是中括号加引号的方式进行字段提取和分组;
两种写法要看字段类型的不同采取不同的方式
11)求不同手机品牌的用户数
12)ELLA用户的2018年的平均每次支付金额,以及2018年最大的支付日期和最小的支付日期的间隔
13)2018年购买的商品品类在两个以上的用户数
步骤总结:
1、先求出每个人购买的商品品类书
2、筛选出购买商品品类书大于2的用户
3、统计符合条件的用户有多少个
14)用户激活时间在2018年,年龄段在20-30岁和30-40岁的婚姻情况分布
步骤总结:
1、先选出激活时间在2018年的用户,并把他们所在的年龄段计算好,并提取出婚姻状况;
如何select后面没有进行聚合,则可以不用使用group by,直接使用where进行过滤就可以;
2、取出年龄段在20-30岁和30-40岁的用户,把他们的婚姻状况转义成可理解的说明;
3、聚合计算,针对年龄段,婚姻状况的聚合
hive自定义UDF函数,步骤详解
UDF函数是一进一出函数,如hive中的substr、date_add、date_sub都是UDF函数。
hive的udf有 两种 实现方式或者实现的API,一种是 udf 比较简单,一种是 GenericUDF 比较复杂
注意继承UDF类时,不会报错、不需要实现抽象方法,这时需要我们重写evaluate()方法,而且方法名必须是evaluate。
编写一个UDF,关键在于自定义Java类需要继承UDF类并实现evaluate()函数。
因为在hive客户端执行查询时,对于 每行输入 都会调用evaluate()函数,evaluate()函数处理后的值会返回给hive。
在hive客户端,将 xxx HiveUDF.jar 文件加载到类路径:
1) 创建临时函数语法:
2)创建永久函数语法
参考文章:hive自定义函数UDF的使用方法

更多文章:
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40
为什么控件属性点不了(c#引用的第三方控件,属性全部显示为灰色,属性值不可更改)
2026年9月7日 03:50
旅游网站设计思路和主要设计内容(旅游网站建设方案该如何进行设计)
2026年9月7日 01:50
野生菌十大名菌野生菌十大名菌分别是哪些?菌内有几种野生菌 野生的鸡枞菌是什么样子
2026年9月6日 23:50



