Re-surfacing the questions.
This sounds like a common use case, butI am still stuck -:)
Thanks!


On Thu, Mar 1, 2012 at 1:03 AM, prash987 prash987 <mysub...@gmail.com>wrote:

> Thank You Norbert for your reply.
>
>
>
> I am still not sure how/if I can do this through Pig script, though?
> Given the below adjacency list,
> How would I find ancestors of R (P,C,A) in Pig?
>
>
>
> cat testgraph.txt
>
> A     B:C
>
> B     D
>
> C     P
>
> P     Q:R
>
>
>
> From the pig script I can get immediate parent, i.e. C
>
> But wouldn’t I need multiple iterations to get parent of C?
>
>
>
> -----------------script------------------------
>
> A=LOAD 'testgraph.txt' USING PigStorage() AS (subject:chararray,
> link:chararray);
>
> B = FOREACH A GENERATE subject, FLATTEN(STRSPLIT(link,':',2)) AS L;
>
> C = FILTER B BY $1 == 'P'
>
> -----------------------------------------------
>
>
> On Wed, Feb 29, 2012 at 10:16 PM, Norbert Burger <norbert.bur...@gmail.com
> > wrote:
>
>> Prash, you can just model this tree as a simple graph adjacency list:
>>
>> A1,A2
>> A2,A3
>> A3,A4
>> A4,Am
>> ...
>>
>> For nodes with more than one child, you simply extend each row
>> horizontally.  Child/parent/descendant/ancestor are straightforward
>> applications of a traversal on this graph (BFS would be a good choice).
>>
>> Norbert
>>
>> On Wed, Feb 29, 2012 at 9:02 AM, prash987 prash987 <mysub...@gmail.com
>> >wrote:
>>
>> > Hi All,
>> > How do I represent hierarchical information in flat file and process it
>> in
>> > Pig?
>> >
>> > Let’s say I have objects of type A.
>> > I want to have a Tree  representation with their parent-child
>> > relationships.
>> >
>> > In scenario 1:
>> > A1 points to A2; A2 points to A3; A3 points to A4; A4 points to Am and
>> > so on till An.
>> > Given above definition; I want to be able to answer following :
>> >
>> > Child(A1) = A2
>> > Parent(A4) = A3
>> > Descendant(A1) = A2,A3,A4, Am… An
>> > Ancestor(A4) = A3,A2,A1
>> > Ancestor (An) = Am,…A4,A3,A2,A1
>> >
>> > Can this be represented in text file and queried in Pig.
>> >
>> > Appreciate any pointers/suggestions.
>> > Thanks!
>> >
>>
>
>

Reply via email to