Pig Forum

Varaible assign from a loop

  • #41980
    Dan Sadler

    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:

    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.

to create new topics or reply. | New User Registration

  • Author
  • #43067
    Jianyong Dai

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

You must be to reply to this topic. | Create Account

Support from the Experts

A HDP Support Subscription connects you experts with deep experience running Apache Hadoop in production, at-scale on the most demanding workloads.

Enterprise Support »

Become HDP Certified

Real world training designed by the core architects of Hadoop. Scenario-based training courses are available in-classroom or online from anywhere in the world

Training »

Hortonworks Data Platform
The Hortonworks Data Platform is a 100% open source distribution of Apache Hadoop that is truly enterprise grade having been built, tested and hardened with enterprise rigor.
Get started with Sandbox
Hortonworks Sandbox is a self-contained virtual machine with Apache Hadoop pre-configured alongside a set of hands-on, step-by-step Hadoop tutorials.
Modern Data Architecture
Tackle the challenges of big data. Hadoop integrates with existing EDW, RDBMS and MPP systems to deliver lower cost, higher capacity infrastructure.