为什么在使用分组集(多维数据集汇总)时,不能通过stmt筛选分组\uu id?

0md85ypi  于 2021-06-29  发布在  Hive
关注(0)|答案(1)|浏览(324)

配置单元代码如下:

set mapred.reduce.tasks = 100;
create table order_dimensions_cube as
select
        grouping__id as groupid,
        user_level             ,
        city_level             ,
        region_name            ,
        province_name          ,
        city_name              ,
        platform               ,
        sale_type              ,
        item_first_cate_name   ,
        app_module             ,
        department             ,
        sum(COALESCE(complete_sum, 0)) as complete_price
from
        data
group by
        user_level          ,
        city_level          ,
        region_name         ,
        province_name       ,
        city_name           ,
        platform            ,
        sale_type           ,
        item_first_cate_name,
        app_module          ,
        department
with cube having grouping__id >= 704;

结果是没有生成任何记录。
更多信息:
我查了一下我有很多记录table:data.
我在没有stmt的情况下尝试了这个sql,并且生成了很多记录。
为什么会发生这种情况?如果我想对结果做一些约束,如何解决这个问题?
谢谢您。

qmb5sa22

qmb5sa221#

由于您没有提供实际数据,请尝试以下操作:

select grouping_id,count(*) from 
(select
        grouping__id as groupid,
        user_level             ,
        city_level             ,
        region_name            ,
        province_name          ,
        city_name              ,
        platform               ,
        sale_type              ,
        item_first_cate_name   ,
        app_module             ,
        department             ,
        sum(COALESCE(complete_sum, 0)) as complete_price
from
        data
group by
        user_level          ,
        city_level          ,
        region_name         ,
        province_name       ,
        city_name           ,
        platform            ,
        sale_type           ,
        item_first_cate_name,
        app_module          ,
        department 
with cube) A
group by grouping_id

并查看每个分组标识有多少条记录。可能存在一些问题。另外-尝试将外部查询更改为

select * from 
(select
        grouping__id as groupid,
        user_level             ,
        city_level             ,
        region_name            ,
        province_name          ,
        city_name              ,
        platform               ,
        sale_type              ,
        item_first_cate_name   ,
        app_module             ,
        department             ,
        sum(COALESCE(complete_sum, 0)) as complete_price
from
        data
group by
        user_level          ,
        city_level          ,
        region_name         ,
        province_name       ,
        city_name           ,
        platform            ,
        sale_type           ,
        item_first_cate_name,
        app_module          ,
        department 
with cube) A
where grouping__id >= 704

看看问题是否依然存在。。
这不是一个解决方案,但更多的是一个尝试,以了解会发生什么

相关问题