随笔分类 - HIve
摘要:描述 今天刷到了一个面试题:hivesql 执行顺序,接下来就从一个带有 group by 的例子看看 hivesql 的执行顺序 执行顺序为 from ..on .. join .. where .. group by .. having .. select .. distinct .. orde
阅读全文
摘要:说明 今天介绍下 hive 中两个常用的分布函数 数据准备 select 1 part_id, 1001 user_id, 1000 fee union all select 1, 1002, 2000 union all select 1, 1003, 3000 union all select
阅读全文
摘要:需求描述 现有一个用户活跃表 user_active (user_id,active_date)、用户注册表 user_regist(user_id,regist_date),表中分区字段都为dt(yyyy-MM-dd),用户字段均为user_id;设计一张1-60天注册活跃留存表; 需求分析 需求
阅读全文
摘要:需求描述 动销率定义为品类商品中一段时间内有销量的商品占当前已上架总商品数的比例(有销量的商品/已上架总商品数)。滞销率定义为品类商品中一段时间内没有销量的商品占当前已上架总商品数的比例。(没有销量的商品 / 已上架总商品数)。只要当天任一店铺有任何商品的销量就输出该天的结果,从订单明细表(orde
阅读全文
摘要:需求描述 现有页面浏览记录表(page_view_events)如下,表中有每个用户的每次页面访问记录。 user_idpage_idview_timestamp 100 home 1659950435 100 good_search 1659950446 100 good_list 1659950
阅读全文
摘要:问题描述 想要从用户表 temp_user_list 取一些数据,具体取数逻辑如下: prov_id ='011' 并且 product_id = '1195362,或者 prov_id ='010' 并且 product_id = '1089562, 这个题目是不是很简单,但是仔细想来实现起来有很
阅读全文
摘要:定义 hive提供了一个严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格在严格模式下无法执行,通过设置hive.mapred.mode的值为strict,可以禁止以下3种类型的查询: 设置方法 //设置严格模式 set hive.mapred.mode=strict
阅读全文
摘要:有以下数据 select explode(array(2, 3, 4)) num; 结果 num 2 3 4 需求1、数据扩充: 输出结果如下所示: 4 1,4,3,2 3 1,3,2 2 1,2 参考实现 select t.num,concat_ws(',',collect_set(cast(t1
阅读全文
摘要:说明 聊到 hive,就少不了灵活的开窗函数,今天介绍下开窗函数中 over 子句内部经常会用到的 rows 和 range 的用法; 数据准备 create table temp_id_0116 ( id int ) stored as orc tblproperties ("orc.compre
阅读全文
摘要:需求描述 有如下数据 create table temp_user_log ( uid int comment '用户id', artical_id int comment '视频id', in_time string comment '进入时间', out_time string comment
阅读全文
摘要:数据库规范化是使用一系列范式设计数据库(通常是关系型数据库)的过程,其目的是减少数据冗余,增强数据的一致性。这一系列范式就是指在设计关系型数据库时,需要遵从的不同的规范。关系型数据库的范式一共有六种,分别是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范
阅读全文
摘要:需求描述 从用户登录明细表(user_login_detail)中首次登录算作当天新增,第二天也登录了算作一日留存 结果如下: first_login (注册时间) register (新增用户数) retention <decimal(16,2)> (留存率) 2021-09-21 1 0.00
阅读全文
摘要:需求描述 商家要求每个商品每个月需要售卖出一定的销售总额假设1号商品销售总额大于21000,2号商品销售总额大于10000,其余商品没有要求请写出SQL从订单详情表中(order_detail)查询连续两个月销售总额大于等于任务总额的商品 结果如下: sku_id (商品id) 1 需要用到的表:
阅读全文
摘要:需求描述 从登录明细表(user_login_detail)中查询每个用户两个登录日期(以login_ts为准)之间的最大的空档期。统计最大空档期时,用户最后一次登录至今的空档也要考虑在内,假设今天为2021-10-10。 期望结果如下: user_id (用户id) max_diff (最大空档期
阅读全文
摘要:需求描述 从订单明细表(order_detail)中统计每天商品1和商品2销量(件数)的差值(商品1销量-商品2销量) 期望结果如下: create_date diff 2020-10-08 -24 2021-09-27 2 2021-09-30 9 2021-10-01 -10 2021-10-0
阅读全文
摘要:需求描述 查询截止每天的最近3天内的订单金额总和以及订单金额日平均值,保留两位小数,四舍五入。 期望结果如下: create_date (日期) total_3d <decimal(16,2)> (最近3日订单金额总和) avg_3d <decimal(16,2)> (最近3日订单金额日平均值) 2
阅读全文
摘要:需求描述 现需要请向所有用户推荐其朋友收藏但是用户自己未收藏的商品,请从好友关系表(friendship_info)和收藏表(favor_info)中查询出应向哪位用户推荐哪些商品。 期望结果如下: user_id (用户id) sku_id (应向该用户推荐的商品id) 101 2 101 4 1
阅读全文
摘要:需求描述 从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。 期望结果如下: user_id (用户id) register_date (注册日期) total
阅读全文
摘要:需求描述 从订单明细表(order_detail)中查询累积销售件数高于其所属品类平均数的商品 期望结果如下: sku_id name sum_num cate_avg_num 2 手机壳 6044 1546 5 破壁机 242 194 7 热水壶 252 194 8 微波炉 253 194 12
阅读全文
摘要:需求描述 从订单信息表(order_info)中统计每个用户截止其每个下单日期的累积消费金额,以及每个用户在其每个下单日期的VIP等级。用户vip等级根据累积消费金额计算,计算规则如下:设累积消费总额为X,若0=<X<10000,则vip等级为普通会员若10000<=X<30000,则vip等级为青
阅读全文