Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-1420

Make CONCAT act on all fields of a tuple, instead of just the first two fields of a tuple

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.8.0
    • 0.8.0
    • impl
    • Patch Available
    • Hide
      CONCAT handles all fields in the supplied tuple, instead of just the first two. This is backwards compatible unless you were relying on it only using the first two fields, which seems unlikely. DataByteArray now has an append() method.

      Example use before:

      B = FOREACH A GENERATE CONCAT(CONCAT(first_name, ' '), last_name);

      Example extended use now:

      D = FOREACH C GENERATE CONCAT(first_name, ' ', last_name);
      Show
      CONCAT handles all fields in the supplied tuple, instead of just the first two. This is backwards compatible unless you were relying on it only using the first two fields, which seems unlikely. DataByteArray now has an append() method. Example use before: B = FOREACH A GENERATE CONCAT(CONCAT(first_name, ' '), last_name); Example extended use now: D = FOREACH C GENERATE CONCAT(first_name, ' ', last_name);
    • pig builtin concat all fields of a tuple

    Description

      org.apache.pig.builtin.CONCAT (which acts on DataByteArray's internally) and org.apache.pig.builtin.StringConcat (which acts on Strings internally), both act on the first two fields of a tuple. This results in ugly nested CONCAT calls like:

      CONCAT(CONCAT(A, ' '), B)

      The more desirable form is:

      CONCAT(A, ' ', B)

      This change will be backwards compatible, provided that no one was relying on the fact that CONCAT ignores fields after the first two in a tuple. This seems a reasonable assumption to make, or at least a small break in compatibility for a sizable improvement.

      Attachments

        1. PIG-1420.2.patch
          1 kB
          Dmitriy V. Ryaboy
        2. addconcat2.patch
          8 kB
          Russell Jurney

        Issue Links

          Activity

            People

              russell.jurney Russell Jurney
              russell.jurney Russell Jurney
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 24h
                  24h
                  Remaining:
                  Remaining Estimate - 24h
                  24h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified