美文网首页
Hive增强group函数

Hive增强group函数

作者: 米小河123 | 来源:发表于2020-07-02 17:17 被阅读0次

使用场景:需要根据不同维度对指标进行下钻统计,比如按小时/按天/按月统计UV数。

1、grouping sets

在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL,
其中的GROUPING__ID,表示结果属于哪一个分组集合。

select
    user_type,
    sales,
    count(user_id) as pv,
    GROUPING__ID 
from 
    order_detail
group by 
    user_type,sales
GROUPING SETS(user_type,sales) 
ORDER BY 
    GROUPING__ID;
select
    user_type,
    sales,
    count(user_id) as pv,
    GROUPING__ID 
from 
    order_detail
group by 
    user_type,sales
GROUPING SETS(user_type,sales,(user_type,sales)) 
ORDER BY 
    GROUPING__ID;
2、cube

根据group by的维度的所有组合进行聚合。

select
    user_type,
    sales,
    count(user_id) as pv,
    GROUPING__ID 
from 
    order_detail
group by 
    user_type,sales
WITH CUBE 
ORDER BY 
    GROUPING__ID;
3、rollup

是cube的子集,以最左侧的维度为主,从该维度进行层次聚合。

select
    user_type,
    sales,
    count(user_id) as pv,
    GROUPING__ID 
from 
    order_detail
group by 
    user_type,sales
WITH ROLLUP 
ORDER BY 
    GROUPING__ID;

相关文章

网友评论

      本文标题:Hive增强group函数

      本文链接:https://www.haomeiwen.com/subject/fhirqktx.html