Pig
  1. Pig
  2. PIG-2679

Could not infer the matching function

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Invalid
    • Affects Version/s: 0.10.0
    • Fix Version/s: None
    • Component/s: grunt
    • Labels:
      None
    • Environment:

      Redhat LINUX

      Description

      a = load '/opt/PIG/data/servers.txt' using PigStorage(':') as (server: chararray, date: chararray, hour: int,minute: int ,io: double, s1: double,s2: double,s3: double);
      b = foreach a generate server, date, hour, io;
      c = group b by server;
      e = foreach c generate a.server, SUM(a.io);

      2012-04-30 19:25:00,578 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1045:
      <line 4, column 33> Could not infer the matching function for org.apache.pig.builtin.SUM as multiple or none of them fit. Please use an explicit cast.

        Activity

        Hide
        Dmitriy V. Ryaboy added a comment -

        You are referencing your fields wrong.

        Perhaps reading this will help?

        http://squarecog.wordpress.com/2010/05/11/group-operator-in-apache-pig/

        There is no "a.server" in the result of grouping b, only the fields "group" and "b". "b" containes fields you generated out of a. So you should be working on b.server, etc.

        Show
        Dmitriy V. Ryaboy added a comment - You are referencing your fields wrong. Perhaps reading this will help? http://squarecog.wordpress.com/2010/05/11/group-operator-in-apache-pig/ There is no "a.server" in the result of grouping b, only the fields "group" and "b". "b" containes fields you generated out of a. So you should be working on b.server, etc.

          People

          • Assignee:
            Unassigned
            Reporter:
            Rod Neal
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development