在一个表上为另一个表

时间:2016-08-16 08:10:45

标签: hive hiveql

我有一个Hive表(比方说,A)有两列,即sessionId和status。对于表A中的所有sessionId,我需要在另一个表上运行一组HiveQL查询(比如说B)。表B中有几列,其中一列是sessionId。这个B.sessionId将在提取行时与A.sessionId进行比较。我正在尝试实现类似下面的内容

for all sessionIds in Table A 
BEGIN
  select a, b,c from {
     case when B.data < 50 then B.data end as a,
     case when B.num < 100 then B.num end as b,
     case when B.air < 150 then B.air end as c     
     } 
END

是否有可能实现上述目标?有人可以就此提出一个想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Join而不是case语句吗?

res=merge(d_aapl,Cl(w_aapl), fill = na.locf)

假设以下是表结构

select t2.data,t2.num,t2.air
from tableA t1,tableB t2
where t1.sessionid = t2.sessionid
and t2.data < 50
and t2.num < 100
and t2.air < 150;