如何左外连接查询结果与Hive中的另一个表

时间:2017-08-07 02:01:07

标签: hadoop join hive

我在hive中有一个表otp_data。我使用以下查询

,根据运营商名称取平均延迟时间
select carrier,  avg(ddelay) from otp_data group by carrier;

结果:

Total MapReduce CPU Time Spent: 28 seconds 980 msec
OK
9E  6.765859659983622
B6  12.653395748122113
DL  8.007765572702564
NW  6.463235656670833
UA  14.11257661236138
US  5.717489671893907
WN  10.383034750411133
AA  13.280898264437912
AS  6.848722010417226
F9  5.919601516833923

还有另一个名为carrier的表,其中包含字段代码和说明。

运营商的样本数据:

9E , Pinnacle Airlines Inc.
B6 , JetBlue Airways 
---
---

我必须打印结果(在连接otp_data和载体表后如下)

Pinnacle Airlines Inc. 6.765859659983622
JetBlue Airways        12.653395748122113
-------
-------

请指导我,如何在Hive中实现这一目标

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容

select t2.carrier_desc,  avg(t1.ddelay) 
from otp_data t1 
left outer join carriers t2 
on t1.carrier = t2.carrier
group by t2.carrier_desc;