hive
文章平均质量分 51
ziyin_2013
这个作者很懒,什么都没留下…
展开
-
hive:通过join连接实现排列组合
有一些订单信息,记录了用户是否购买过某个产品。想统计一下同时购买过任意两个产品的用户,类似于组合;还有购买过两个产品并且分购买先后顺序的用户,比如先购买了A再购买B、先购买了B再购买A,分两种统计,类似于排列。在hive中可以采用join实现排列组合。...原创 2022-07-31 18:29:58 · 784 阅读 · 1 评论 -
hive:left join存在关联字段不等
问题在hive中用left join关联两个表,结果中存在关联字段不等的情况,如下图关联结果中的第2、3行。 原因排查经排查发现,a.other_apply_id与b.data_id的数据类型不同,a.other_apply_id字段类型为string,b.data_id字段类型为bigint,可能是字段数据类型不同导致的。解决方法将两个字段a.other_apply_id与b.data_id数据类型都强转成string型。ps:初衷是通过撰写博文记录自己所学所用,实现知识的梳理与积累;将.原创 2022-05-29 17:58:31 · 922 阅读 · 0 评论 -
hive:数据入库后显示为null值
近日遇到现查SQL是有值的,但是写入到库表中显示为null值,经排查发现因为数据超出了建表时设置的字段长度导致的。问题将SQL统计的聚合结果写入到库表中发现有null值,但是直接跑SQL逻辑是有值的。--建表CREATE TABLE IF NOT EXISTS testdb.scenes_audit_amount_20220512 ( create_month string comment '月份', pid string comment '编号', audit_amou原创 2022-05-22 17:56:40 · 2479 阅读 · 0 评论 -
hive:常见日期函数
1. to_date:日期时间转日期-- 注:日期字符串必须满足yyyy-MM-dd格式命令:select to_date('2022-04-29 08:52:14.0');输出:2022-04-292. current_date :当前日期命令:select current_date();输出:2022-04-303. date_sub : 返回日期前n天的日期-- 注:日期字符串必须满足yyyy-MM-dd格式命令:select date_sub('2022-04-29 08:52原创 2022-04-30 11:09:14 · 9841 阅读 · 0 评论 -
hive:explode和lateral view函数实现行转列
需求:假设某超市的订单表order如下,现想统计用户经常购买的Top100商品。思路:为了便于统计Top100商品,需要从订单表order的info字段提取商品字段goods,并行转列。下面利用hive中的explode和lateral view函数得到以下表结构。第一步:利用explode函数将info字段进行拆分及行转列。regexp_replace(string A, string B, string C):正则表达式替换,将字符串A中的符合正则表达式B的部分替换为C;split(str原创 2022-01-08 20:49:04 · 1857 阅读 · 1 评论