hive sql 常用技巧

1.多行合并

多行合并常用于做区间统计,通过定义一定的金额区级,将上亿的记录降维为不同区间内总数。概括来说就是多映射到一。
典型场景:
基于用户交易天流水,计算每天不同金额段的金额笔数。

图片描述

如用户的天交易流水表结构如上,需要计算出交易额在0-100,100-200,200-300,大于300几个区级的笔数,

CREATE VIEW t_deal_tmp_view_1 AS
SELECT
    CASE
        WHEN rcv_amount <= 100 THEN 1
        WHEN rcv_amount <= 200 THEN 2
        WHEN rcv_amount <= 300 THEN 3 
        ELSE 4 END AS amount_range,
    receiver
FROM t_transfer_info


SELECT
amount_range,
COUNT(receiver) AS cnt
FROM t_deal_tmp_view_1
GROUP BY amount_range   


DROP VIEW t_deal_tmp_view_1 

为什么不使用下面这种写法

SELECT
    CASE
        WHEN rcv_amount <= 100 THEN 1
        WHEN rcv_amount <= 200 THEN 2
        WHEN rcv_amount <= 300 THEN 3 
        ELSE 4 END AS amount_range,
    CO
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值