使用hue遇到的bug

问题如图中所述,经验证使用[ select * from( select * from a union all select * from b ) 时会出现这种情况,不知是不是hue的bug ]sql如下:

select translate(date_sub(current_date(),1),'-','') as id,final.*,date_format(date_sub(current_date(),1),'yyyyMM') as dimensions  from
(
select n.id as categoryid1,m.* from
(
select case when aaa.categoryname1 is not null then aaa.categoryname1 else bbb.categoryname1 end as categoryname1,
       case when aaa.tagvalue is not null then aaa.tagvalue else bbb.tagvalue end as tagvalue,
       coalesce(aaa.ordernum,0) as ordernum,
       coalesce(aaa.gmv,0) as gmv,
       coalesce(bbb.rv,0) as rv
from
(
--2018-01-01至昨天一级分类各活动订单情况
--各一级分类下各活动的订单量与GMV
select aa.categoryname1,bb.tagvalue,count(distinct aa.orderid) as ordernum,sum(aa.amount) as gmv 
  from hmdbi.activity_orderitem aa
  join
  (
 --除了参加火拼外的带有活动标签的商品
 select PromotionId as id,tagvalue from bak_homedo.t_Tag_Promotion
     where TagGroupId=30 and Mark>0 and TagValue<>'伙拼' and d=translate(date_sub(current_date(), 2),'-','')
     union all 
	--参加火拼的商品并带有火拼标签
     SELECT a.id as id,'伙拼' as tagvalue 
       FROM bak_homedo.t_product_promotion a
       join 
      bak_homedo.t_Product_Promotion_PinDanCategory b 
       on b.PromotionId=a.Id and a.Mark>0 and b.Mark>0 and b.Type=2 
       and a.d=translate(date_sub(current_date(), 2),'-','')
       and b.d=translate(date_sub(current_date(), 2),'-','') 
  ) bb
  on aa.promotionid = bb.id
  where aa.inserttime >= concat(date_format(date_sub(current_date(),1),'yyyy-MM') ,'-01') and aa.inserttime <date_format(current_date(),'yyyy-MM-dd') and aa.isreturn='否' 
        and aa.promotionid <> 0
  group by aa.categoryname1,bb.tagvalue
) aaa
  
full outer join
(
--各一级分类下各活动的实收
select aa.categoryname1,bb.tagvalue,sum(aa.amount) as rv 
  from hmdbi.activity_orderitem aa
  join
  (
  select PromotionId as id,tagvalue 
     from bak_homedo.t_Tag_Promotion
     where TagGroupId=30 and Mark>0 and TagValue<>'伙拼'
        and d=translate(date_sub(current_date(), 2),'-','')
        union all
        SELECT a.id as id,'伙拼' as tagvalue 
        FROM bak_homedo.t_product_promotion a
        inner join bak_homedo.t_Product_Promotion_PinDanCategory b on b.PromotionId=a.Id
        and a.Mark>0 and b.Mark>0 and b.Type=2
        and a.d=translate(date_sub(current_date(), 2),'-','')
        and b.d=translate(date_sub(current_date(), 2),'-','')
  ) bb
  on aa.promotionid = bb.id
  where aa.effectivetime >= concat(date_format(date_sub(current_date(),1),'yyyy-MM') ,'-01') and aa.effectivetime <date_format(current_date(),'yyyy-MM-dd')
        and aa.workflowstatusname in ('交易完成','仓库发货准备','等待客户收货')
        and aa.promotionid <> 0 
  group by aa.categoryname1,bb.tagvalue
) bbb
on aaa.categoryname1=bbb.categoryname1 and aaa.tagvalue=bbb.tagvalue
) m
--得到非oem的categoryid1
left join    
(
select id,name from bak_homedo.t_product_category where level=1 and mark>0 and d=date_format(date_sub(current_date(),2),'yyyyMMdd')  
) n  
on m.categoryname1=n.name 

union all

--oem
select case when aaa.categoryid1 is not null then aaa.categoryid1 else bbb.categoryid1 end as categoryid1,
	   case when aaa.categoryname1 is not null then aaa.categoryname1 else bbb.categoryname1 end as categoryname1,
       case when aaa.tagvalue is not null then aaa.tagvalue else bbb.tagvalue end as tagvalue,
       coalesce(aaa.ordernum,0) as ordernum,
       coalesce(aaa.gmv,0) as gmv,
       coalesce(bbb.rv,0) as rv
from
(
--oem的订单量与gmv
select 20000 as categoryid1,'oem' as categoryname1,bb.tagvalue,count(distinct aa.orderid) as ordernum,sum(aa.amount) as gmv 
  from hmdbi.activity_orderitem aa
  join
  (
 --除了参加火拼外的带有活动标签的商品
 select PromotionId as id,tagvalue from bak_homedo.t_Tag_Promotion
     where TagGroupId=30 and Mark>0 and TagValue<>'伙拼' and d=translate(date_sub(current_date(), 2),'-','')
     union all 
	--参加火拼的商品并带有火拼标签
     SELECT a.id as id,'伙拼' as tagvalue 
       FROM bak_homedo.t_product_promotion a
       join 
      bak_homedo.t_Product_Promotion_PinDanCategory b 
       on b.PromotionId=a.Id and a.Mark>0 and b.Mark>0 and b.Type=2 
       and a.d=translate(date_sub(current_date(), 2),'-','')
       and b.d=translate(date_sub(current_date(), 2),'-','') 
  ) bb
  on aa.promotionid = bb.id
  where aa.inserttime >= concat(date_format(date_sub(current_date(),1),'yyyy-MM') ,'-01') and aa.inserttime <date_format(current_date(),'yyyy-MM-dd') and aa.isreturn='否' 
        and aa.promotionid <> 0
		and aa.brand in ('Ablecan','手把手','康林','英谷','上海允光','上海巴锐','津美韵','迹智','酷显','至配','战匠','博答','矿森','频恒','H3C','跃居')
  group by bb.tagvalue
) aaa
full outer join 
(
--各一级分类下各活动的实收
select 20000 as categoryid1,'oem' as categoryname1,bb.tagvalue,sum(aa.amount) as rv 
  from hmdbi.activity_orderitem aa
  join
  (
  select PromotionId as id,tagvalue 
     from bak_homedo.t_Tag_Promotion
     where TagGroupId=30 and Mark>0 and TagValue<>'伙拼'
        and d=translate(date_sub(current_date(), 2),'-','')
        union all
        SELECT a.id as id,'伙拼' as tagvalue 
        FROM bak_homedo.t_product_promotion a
        inner join bak_homedo.t_Product_Promotion_PinDanCategory b on b.PromotionId=a.Id
        and a.Mark>0 and b.Mark>0 and b.Type=2
        and a.d=translate(date_sub(current_date(), 2),'-','')
        and b.d=translate(date_sub(current_date(), 2),'-','')
  ) bb
  on aa.promotionid = bb.id
  where aa.effectivetime >= concat(date_format(date_sub(current_date(),1),'yyyy-MM') ,'-01') and aa.effectivetime <date_format(current_date(),'yyyy-MM-dd')
        and aa.workflowstatusname in ('交易完成','仓库发货准备','等待客户收货')
        and aa.promotionid <> 0 
		and aa.brand in ('Ablecan','手把手','康林','英谷','上海允光','上海巴锐','津美韵','迹智','酷显','至配','战匠','博答','矿森','频恒','H3C','跃居')
  group by bb.tagvalue  
) bbb
on aaa.categoryname1=bbb.categoryname1 and aaa.tagvalue=bbb.tagvalue
) final

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hue 是一个 Hadoop 生态圈的 Web 界面,它可以方便地管理和使用 Hadoop 生态圈的各种组件,包括 Impala。下面是使用 Hue 和 Impala 的简单教程: 1. 安装和配置 Impala 首先,需要在 Hadoop 集群中安装和配置 Impala。具体的安装和配置步骤可以参考 Impala 官方文档。 2. 启动 Hue 启动 Hue 的命令如下: ``` $ sudo service hue start ``` 启动成功后,在浏览器中输入 Hue 的 URL 地址,例如:`http://localhost:8888/`,进入 Hue 的登录页面。输入用户名和密码,点击登录即可进入 Hue 的主界面。 3. 创建 Impala 表 在 Hue 的主界面中,点击左侧菜单栏的“Impala”选项,进入 Impala 的查询页面。在查询页面中,输入 Impala 建表语句,例如: ``` CREATE TABLE my_table ( id INT, name STRING, age INT, gender STRING ) ``` 然后,点击“Execute”按钮,执行该语句,即可创建名为`my_table`的表。 4. 查询 Impala 表 在 Hue 的 Impala 查询页面中,输入 Impala 查询语句,例如: ``` SELECT * FROM my_table; ``` 然后,点击“Execute”按钮,执行该语句,即可查询`my_table`表中的数据。 5. 导入数据到 Impala 表 在 Hue 的 Impala 查询页面中,可以使用 LOAD DATA 命令将数据导入到 Impala 表中。例如: ``` LOAD DATA INPATH '/path/to/data' INTO TABLE my_table; ``` 6. 使用 Impala 高级功能 Hue 还提供了 Impala 的高级功能,例如:查询分析器、视图、UDF 等。在 Hue 的 Impala 查询页面中,可以使用这些高级功能,从而更方便地管理和使用 Impala。 以上就是使用 Hue 和 Impala 的基本教程,Hue 还有很多其他的功能,可以根据需要进行学习和使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值