为什么A和B的内连接比Pig中的A或B产生更多的结果?

时间:2015-09-14 00:40:42

标签: sql hadoop apache-pig

我的理解是内部连接应该采用具有相同键的A和B的交集,因此交集中的结果数量应该永远不会超过A或B.但是,我运行了一个猪脚本,默认情况下应该执行内连接,这表明交叉点中的结果比A或B更多。可能导致这种情况的原因是什么?

OLD_count = FOREACH (GROUP OLD ALL) GENERATE COUNT(OLD);
NEW_count = FOREACH (GROUP NEW ALL) GENERATE COUNT(NEW);

G = JOIN NEW BY (X, Y), OLD by (X, Y);
JOIN_count = FOREACH (GROUP G ALL) GENERATE COUNT(G);

DUMP OLD_count;
DUMP NEW_count; 
DUMP JOIN_count;

-- Results (approximate):
-- (70000000)
-- (80000000)
-- (85000000) wtf? 

0 个答案:

没有答案