|
|
-
Joins with OR condition
rakesh kothari 2010-10-18, 00:03
What's the best way to do something like this in PIG:
JOIN A with B where (A.property1 = B.property1 OR A.property2 = B.property2) ?
Thanks, -Rakesh
+
rakesh kothari 2010-10-18, 00:03
-
Re: Joins with OR condition
Dmitriy Ryaboy 2010-10-18, 03:18
Two joins, followed by a full outer join of the results, and a selection pass? It's not pretty, but it'll work...
On Sun, Oct 17, 2010 at 5:03 PM, rakesh kothari <[EMAIL PROTECTED]>wrote:
> > What's the best way to do something like this in PIG: > > JOIN A with B where (A.property1 = B.property1 OR A.property2 > B.property2) ? > > Thanks, > -Rakesh > > >
+
Dmitriy Ryaboy 2010-10-18, 03:18
-
Re: Joins with OR condition
Thejas M Nair 2010-10-27, 17:43
I don't understand the solution proposed by Dmitriy using 3 joins. But it can be done using two joins and a union, as follows -
J1 = join A by prop1, B by prop1; J2 = join A by prop2, B by prop2;
-- this filters prevents joined rows where both prop1, prop2 match from being counted twice J2_fil = filter J2 by A::prop1 != A::prop2; JoinP1OrP2 = union J1, J2; -Thejas On 10/17/10 8:18 PM, "Dmitriy Ryaboy" <[EMAIL PROTECTED]> wrote:
Two joins, followed by a full outer join of the results, and a selection pass? It's not pretty, but it'll work...
On Sun, Oct 17, 2010 at 5:03 PM, rakesh kothari <[EMAIL PROTECTED]>wrote:
> > What's the best way to do something like this in PIG: > > JOIN A with B where (A.property1 = B.property1 OR A.property2 > B.property2) ? > > Thanks, > -Rakesh > > >
+
Thejas M Nair 2010-10-27, 17:43
-
RE: Joins with OR condition
rakesh kothari 2010-10-27, 21:19
Yes. I did that as well.
Thanks, -Rakesh
From: [EMAIL PROTECTED] To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Date: Wed, 27 Oct 2010 10:43:27 -0700 Subject: Re: Joins with OR condition
Message body I don’t understand the solution proposed by Dmitriy using 3 joins. But it can be done using two joins and a union, as follows -
J1 = join A by prop1, B by prop1;
J2 = join A by prop2, B by prop2;
-- this filters prevents joined rows where both prop1, prop2 match from being counted twice
J2_fil = filter J2 by A::prop1 != A::prop2;
JoinP1OrP2 = union J1, J2;
-Thejas
On 10/17/10 8:18 PM, "Dmitriy Ryaboy" <[EMAIL PROTECTED]> wrote:
Two joins, followed by a full outer join of the results, and a selection
pass?
It's not pretty, but it'll work...
On Sun, Oct 17, 2010 at 5:03 PM, rakesh kothari <[EMAIL PROTECTED]>wrote:
>
> What's the best way to do something like this in PIG:
>
> JOIN A with B where (A.property1 = B.property1 OR A.property2 > B.property2) ?
>
> Thanks,
> -Rakesh
>
>
>
+
rakesh kothari 2010-10-27, 21:19
|
|