Class IsNumeric

  extended by org.apache.pig.EvalFunc<Boolean>
      extended by org.apache.pig.piggybank.evaluation.IsNumeric

public class IsNumeric
extends EvalFunc<Boolean>

This UDF is used to check if a String is numeric. Note this UDF is different from IsInt in 2 ways, 1. Does not check for Integer range 2. Runs faster as this UDF uses Regex match and not Integer.parseInt(String) This UDF is expected to perform slightly better than isInt, isLong, isFloat, isDouble. However, primary goal of this UDF is NOT performance but rather to check "numeric"-ness of a String. Use this UDF if you do not care for the type (int, long, float, double) and would just like to check if its numeric in nature. It does NOT check for Range of int, long, double, parse. This function will return true when the String is larger than the range of any numeric data type (int, long, double, float). Use specific functions (IsInt, IsFloat, IsLong, IsDouble) if range is important.

Nested Class Summary
Nested classes/interfaces inherited from class org.apache.pig.EvalFunc
Field Summary
Fields inherited from class org.apache.pig.EvalFunc
log, pigLogger, reporter, returnType
Constructor Summary
Method Summary
 Boolean exec(Tuple input)
          This callback method must be implemented by all subclasses.
 Schema outputSchema(Schema input)
          Report the schema of the output of this UDF.
Methods inherited from class org.apache.pig.EvalFunc
finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, isAsynchronous, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public IsNumeric()
Method Detail


public Boolean exec(Tuple input)
             throws IOException
Description copied from class: EvalFunc
This callback method must be implemented by all subclasses. This is the method that will be invoked on every Tuple of a given dataset. Since the dataset may be divided up in a variety of ways the programmer should not make assumptions about state that is maintained between invocations of this method.

Specified by:
exec in class EvalFunc<Boolean>
input - the Tuple to be processed.
result, of type T.


public Schema outputSchema(Schema input)
Description copied from class: EvalFunc
Report the schema of the output of this UDF. Pig will make use of this in error checking, optimization, and planning. The schema of input data to this UDF is provided.

The default implementation interprets the OutputSchema annotation, if one is present. Otherwise, it returns null (no known output schema).

outputSchema in class EvalFunc<Boolean>
input - Schema of the input
Schema of the output

Copyright © 2007-2012 The Apache Software Foundation