Hive/Presto中函数grouping sets用法详解(踩坑总结,看到赚到)


本文详细记录了函数grouping sets使用时遇到的坑,全文代码基于Hive和Presto实现。

1. 问题讨论

1.1 数据准备

首先建立商品销售表:

CREATE TABLE temp.goods_sale_info(  
	`province`   string comment '省份',
	`city`       string comment '城市',
    `goodsid`    string comment '商品编号',
    `goodsname`  string comment '商品名称',
    `sales_qty`  decimal(38,5) comment '销量',
    `sales_amt`  decimal(38,5) comment '销售额'
    ) 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

insert into table temp.goods_sale_info 
values ('江西省','南昌市','1000','可口可乐','10','40')
        ,('福建省','福州市','1000','可口可乐','200','1000')
        ,('福建省','厦门市','1000','可口可乐','300','1500')
        ,('福建省','厦门市','1200','百事可乐','200','1000')
        ,('福建省','厦门市','2000','伊利安慕希','300','21000');

select * from temp.goods_sale_info

再建立一个商品信息表:

CREATE TABLE temp.goods_info(  
    `goodsid`       string comment '商品编号',
    `goodsname`     string comment '商品名称',
    `catgory_id`    string comment '商品种类编号',
    `catgory_name`  string comment '商品种类'
    ) 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

insert into table temp.goods_info
values ('1000','可口可乐',
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值