问题描述
我需要编写一个在选择语句中具有子查询的Hive查询。我知道Hive不支持此功能,因此我正在寻找我的选择。
select
a,b,(select max(tbl.c) from sample_table_a tbl where tbl.d like 'X012%') as d,e,f
from sample_table_b
如何在蜂巢中实现上述查询而不使用交叉连接,因为sample_table_a包含约40000个元组,sample_table_b也是如此。
解决方法
这可能是一个选择:
表t
中将只有一行,因此联接应该没有太大问题
select
a,b,max_value,e,f
from
sample_table_b
inner join
(
select
max(tbl.c) as max_value
from
sample_table_a tbl
where
tbl.d like 'X012%'
)
t;