在 PIG 中一次左外连接超过 2 个关系

Left outer join on more than 2 relations at a time in PIG

我正在尝试在 pig 的单个语句中对 2 个以上的关系执行左外连接。可能吗?

问候 哈里斯

遗憾的是,一步中的多路联接仅适用于内部联接。摘自 the official documentation:

Usage

...

Outer joins will only work for two-way joins; to perform a multi-way outer join, you will need to perform multiple two-way outer join statements.

因此,在他们添加可能性之前,这不会很快出现(没有开放的 JIRA 正在处理它),您将需要在 2 个语句中完成:

A = LOAD 'a' AS (a:chararray,b:int);
B = LOAD 'b' AS (a:chararray,b:chararray);
C = LOAD 'c' AS (a:chararray,b:chararray);
D = JOIN A by [=10=] LEFT OUTER, B BY [=10=];
E = JOIN D by [=10=] LEFT OUTER; C BY [=10=];