Grokbase Groups Pig user April 2013
FAQ
Hi,

I have a where condition in sql query like below


Table1.col1=Table2.col3 and Table2.col2=Table3.col1 and
Table3.col3=Table1.col2

In Pig,

Can i write like below

A= Table1
B=Table2
C=Table3

Joins = join A by col1,B by col3 and B by col2,C by col1 and C by col3,A
by cole

Please help me.

Raj

Search Discussions

  • j.barrett Strausser at Apr 25, 2013 at 3:08 am
    Have you tried it? If so, what was the result? Did you try

    DESCRIBE Joins;
    ILLUSTRATE Joins;
    EXPLAIN Joins:
    DUMP Joins;

    If you haven't tried, that would be the first thing to do.

    http://pig.apache.org/docs/r0.11.1/basic.html#join-inner

    -b


    On Wed, Apr 24, 2013 at 10:39 PM, Raj hadoop wrote:

    Hi,

    I have a where condition in sql query like below


    Table1.col1=Table2.col3 and Table2.col2=Table3.col1 and
    Table3.col3=Table1.col2

    In Pig,

    Can i write like below

    A= Table1
    B=Table2
    C=Table3

    Joins = join A by col1,B by col3 and B by col2,C by col1 and C by col3,A
    by cole

    Please help me.

    Raj


    --


    https://github.com/bearrito
    @barrettsmash
  • Bill Graham at Apr 25, 2013 at 4:53 am
    You'll need to do a 3-way join in two steps:

    A = load 'foo' as (col1, col2);
    B = load 'bar' as (col1);
    C = load 'bat' as (col1);

    AB = join A by col1, B by col1;
    ABC = join AB by A.col2, C by col1;

    On Wed, Apr 24, 2013 at 8:07 PM, j.barrett Strausser wrote:

    Have you tried it? If so, what was the result? Did you try

    DESCRIBE Joins;
    ILLUSTRATE Joins;
    EXPLAIN Joins:
    DUMP Joins;

    If you haven't tried, that would be the first thing to do.

    http://pig.apache.org/docs/r0.11.1/basic.html#join-inner

    -b


    On Wed, Apr 24, 2013 at 10:39 PM, Raj hadoop wrote:

    Hi,

    I have a where condition in sql query like below


    Table1.col1=Table2.col3 and Table2.col2=Table3.col1 and
    Table3.col3=Table1.col2

    In Pig,

    Can i write like below

    A= Table1
    B=Table2
    C=Table3

    Joins = join A by col1,B by col3 and B by col2,C by col1 and C by col3,A
    by cole

    Please help me.

    Raj


    --


    https://github.com/bearrito
    @barrettsmash


    --
    *Note that I'm no longer using my Yahoo! email address. Please email me at
    billgraham@gmail.com going forward.*
  • Russell Jurney at Apr 25, 2013 at 8:41 am
    You can do a 3-way inner join on the same keys, but if they are on
    different keys (or a different type of join), you must do two joins.

    Russell Jurney http://datasyndrome.com
    On Apr 24, 2013, at 9:53 PM, Bill Graham wrote:

    You'll need to do a 3-way join in two steps:

    A = load 'foo' as (col1, col2);
    B = load 'bar' as (col1);
    C = load 'bat' as (col1);

    AB = join A by col1, B by col1;
    ABC = join AB by A.col2, C by col1;


    On Wed, Apr 24, 2013 at 8:07 PM, j.barrett Strausser <
    j.barrett.strausser@gmail.com> wrote:
    Have you tried it? If so, what was the result? Did you try

    DESCRIBE Joins;
    ILLUSTRATE Joins;
    EXPLAIN Joins:
    DUMP Joins;

    If you haven't tried, that would be the first thing to do.

    http://pig.apache.org/docs/r0.11.1/basic.html#join-inner

    -b


    On Wed, Apr 24, 2013 at 10:39 PM, Raj hadoop wrote:

    Hi,

    I have a where condition in sql query like below


    Table1.col1=Table2.col3 and Table2.col2=Table3.col1 and
    Table3.col3=Table1.col2

    In Pig,

    Can i write like below

    A= Table1
    B=Table2
    C=Table3

    Joins = join A by col1,B by col3 and B by col2,C by col1 and C by col3,A
    by cole

    Please help me.

    Raj


    --


    https://github.com/bearrito
    @barrettsmash


    --
    *Note that I'm no longer using my Yahoo! email address. Please email me at
    billgraham@gmail.com going forward.*
  • Raj hadoop at Apr 26, 2013 at 4:53 pm
    Thank you so much Bill. It helped me alot.

    On Thu, Apr 25, 2013 at 10:22 AM, Bill Graham wrote:

    You'll need to do a 3-way join in two steps:

    A = load 'foo' as (col1, col2);
    B = load 'bar' as (col1);
    C = load 'bat' as (col1);

    AB = join A by col1, B by col1;
    ABC = join AB by A.col2, C by col1;


    On Wed, Apr 24, 2013 at 8:07 PM, j.barrett Strausser <
    j.barrett.strausser@gmail.com> wrote:
    Have you tried it? If so, what was the result? Did you try

    DESCRIBE Joins;
    ILLUSTRATE Joins;
    EXPLAIN Joins:
    DUMP Joins;

    If you haven't tried, that would be the first thing to do.

    http://pig.apache.org/docs/r0.11.1/basic.html#join-inner

    -b


    On Wed, Apr 24, 2013 at 10:39 PM, Raj hadoop wrote:

    Hi,

    I have a where condition in sql query like below


    Table1.col1=Table2.col3 and Table2.col2=Table3.col1 and
    Table3.col3=Table1.col2

    In Pig,

    Can i write like below

    A= Table1
    B=Table2
    C=Table3

    Joins = join A by col1,B by col3 and B by col2,C by col1 and C by
    col3,A
    by cole

    Please help me.

    Raj


    --


    https://github.com/bearrito
    @barrettsmash


    --
    *Note that I'm no longer using my Yahoo! email address. Please email me at
    billgraham@gmail.com going forward.*

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupuser @
categoriespig, hadoop
postedApr 25, '13 at 2:40a
activeApr 26, '13 at 4:53p
posts5
users4
websitepig.apache.org

People

Translate

site design / logo © 2021 Grokbase