2017-05-02 108 views
0

我组成了一个简单的左连接hiveql select * from a left outer join b on (a.f1=b.f1 and a.f2=b.f2) 以上查询结果总数为798,608。 但是,表a中的记录总数是780,499,它不匹配。不一致的Hive左连接结果

我试图找到只存在于左连接结果但不在表a中的所有记录;结果返回空白。

我甚至试图用少量记录创建2个小表(a'和b'),左连接结果的计数与表a'记录的计数匹配,如预期的那样。

什么可能导致不一致的结果?

+3

我的猜测是你有1对多的关系。您的表b最有可能具有表a中的一些记录的多个记录。 –

+3

我想在表b中为字段f1和f2尝试一个组,然后运行一个计数,然后计算表b中没有一个组,并查看结果是否相同。 –

+0

@DavidLee,你是对的!感谢您的快速周转! – lovechillcool

回答

0

感谢David Lee。表b中有一对多的情况。 问题解决了。