org.apache.pig.builtin
Class ToDate
java.lang.Object
org.apache.pig.EvalFunc<org.joda.time.DateTime>
org.apache.pig.builtin.ToDate
public class ToDate
- extends EvalFunc<org.joda.time.DateTime>
ToDate converts the ISO or the customized string or the Unix timestamp to the DateTime object.
ToDate is overloaded.
- Syntax:
DateTime ToDate(Long millis)
.
- Input:
the milliseconds
.
- Output:
the DateTime object
.
- Syntax:
DateTime ToDate(String dtStr)
.
- Input:
the ISO format date time string
.
- Output:
the DateTime object
.
- Syntax:
DateTime ToDate(String dtStr, String format)
.
- Input:
dtStr: the string that represents a date time
.
format: the format string
.
- Output:
the DateTime object
.
- Syntax:
DateTime ToDate(String dtStr, String format, String timezone)
.
- Input:
dtStr: the string that represents a date time
.
format: the format string
.
timezone: the timezone string
.
- Output:
the DateTime object
.
Methods inherited from class org.apache.pig.EvalFunc |
finish, 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 |
ToDate
public ToDate()
exec
public org.joda.time.DateTime 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<org.joda.time.DateTime>
- Parameters:
input
- the Tuple to be processed.
- Returns:
- result, of type T.
- Throws:
IOException
outputSchema
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).
- Overrides:
outputSchema
in class EvalFunc<org.joda.time.DateTime>
- Parameters:
input
- Schema of the input
- Returns:
- Schema of the output
getArgToFuncMapping
public List<FuncSpec> getArgToFuncMapping()
throws FrontendException
- Description copied from class:
EvalFunc
- Allow a UDF to specify type specific implementations of itself. For example,
an implementation of arithmetic sum might have int and float implementations,
since integer arithmetic performs much better than floating point arithmetic. Pig's
typechecker will call this method and using the returned list plus the schema
of the function's input data, decide which implementation of the UDF to use.
- Overrides:
getArgToFuncMapping
in class EvalFunc<org.joda.time.DateTime>
- Returns:
- A List containing FuncSpec objects representing the EvalFunc class
which can handle the inputs corresponding to the schema in the objects. Each
FuncSpec should be constructed with a schema that describes the input for that
implementation. For example, the sum function above would return two elements in its
list:
- FuncSpec(this.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.DOUBLE)))
- FuncSpec(IntSum.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.INTEGER)))
This would indicate that the main implementation is used for doubles, and the special
implementation IntSum is used for ints.
- Throws:
FrontendException
extractDateTimeZone
public static org.joda.time.DateTimeZone extractDateTimeZone(String dtStr)
extractDateTime
public static org.joda.time.DateTime extractDateTime(String dtStr)
Copyright © 2007-2012 The Apache Software Foundation