Home Forums Pig Varaible assign from a loop

This topic contains 1 reply, has 2 voices, and was last updated by  Jianyong Dai 11 months, 3 weeks ago.

  • Creator
    Topic
  • #41980

    Dan Sadler
    Member

    Hi all,
    I am trying to get the last value of a string split. I am able to do this using
    C1 = FOREACH f GENERATE SIZE(STRSPLIT(stringSplitText,’\\.’)) as size3, FLATTEN(STRSPLIT(stringSplitText, ‘\\.’));
    The will then give me information such as:
    3,a,b,c
    5,y,r,e,f,d
    2,o,p

    What I am trying to do is using the first column (numbers) extract the last column e.g $3, $5, $2 (these are the last columns)

    I have tried d = FOREACH C1 GENERATE CONCAT(‘$’,$0) as number;
    which saves the info into $3, $5, $2, however when I try and loop through C1 and call d’s generated number it does not work.

    ans = FOREACH C1 generate d1.number;

    So essentially what i am trying to do is get the last column from a string split however the string can be any length.
    If any body can help that would be great.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.

  • Author
    Replies
  • #43067

    Jianyong Dai
    Participant

    This works for me:
    C1 = foreach f generate SUBSTRING(stringSplitText, LAST_INDEX_OF(stringSplitText, ‘,’)+1, (int)SIZE(stringSplitText));

    Collapse
Viewing 1 replies (of 1 total)