During the course of a problem I'm working on Pig, I generated a transition file the records of which looks like this:


I've typecasted the middle(Max_Temp) and end(Min_Temp) values to double.

B1 = LOAD '/tmp/PigLoadSandstoneData/part-m-00000' USING PigStorage(',') AS (Dated: CHARARRAY, Min_Temp: DOUBLE, Max_Temp: DOUBLE);

I wanted to filter out the result as per a comparison that I'm doing using the statements below:

X = filter B1 by Max_Temp>25.0;
X = filter B1 by Min_Temp<0.0;

I'm not sure why it is throwing the IMPLICIT_CAST_TO_DOUBLE error message as:

grunt> X = filter B1 by (Max_Temp>25.0);
2014-04-08 05:42:58,925 [main] WARN  org.apache.pig.PigServer - Encountered Warning IMPLICIT_CAST_TO_DOUBLE 1 time(s).

Can anyone please suggest what wrong I'm doing here? And any solution to this?

Thanks- Adil


Give these a shot and tell me if one or neither works:

  1. I'd try tossing in a cast in the FILTER statement, e.g.,

    X = filter B1 by (double)Max_Temp>25.0;

  2. It's not impossible that you have a null value somewhere in your data set that Pig is re-casting. Try filtering out null values. If you want to do something with the null value (e.g., set it to 0) try COALESCE.

Need Your Help

Multiple ways of finding Big O of a function

big-o computer-science

I'm struggling with understanding Big O and I'm unable to quite comprehend the multiple ways that I read, and watch, that are used to find the Big O of a function. It seems that every video or post...

How to grep on Sbt output?

bash scala sbt

I want to run grep on sbt output, but can't find a way to do it.