HIVE 多个无关的查询单行结果合并成一行的方案

最近在做一个HIVE统计需求,遇到的场景需要把多个不同的单行结果合成一行,首先已经使用WITH ....AS 作出几个中间结果表:

with A as (

),B as (

),C as(

)

方案有如下几个:

1、select A.* ,B.* ,C.* from A,B,C

2、人为的增加一个关联,比如是按月汇总,可以各个内存表中增加同一个关联列,然后通过left jion等关联成一行

3、使用left join 或 join on 等在on后面接为true的表达式,如on 1=1(需先设置非严格模式:set hive.mapred.mode=nonstrict);

 

备注:

     通过直接select (),(),()的子查询 的方式,不可行

posted @ 2021-01-20 16:17  xuzhujack  阅读(2258)  评论(1编辑  收藏  举报
;