org.apache.pig.piggybank.evaluation.datetime.truncate
Class ISOToMinute
java.lang.Object
org.apache.pig.EvalFunc<String>
org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToMinute
public class ISOToMinute
- extends EvalFunc<String>
ISOToMinute truncates an ISO8601 datetime string to the precision of the minute field
Jodatime: http://joda-time.sourceforge.net/
ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601
Example usage:
REGISTER /Users/me/commiter/piggybank/java/piggybank.jar ;
REGISTER /Users/me/commiter/piggybank/java/lib/joda-time-1.6.jar ;
DEFINE ISOToYear org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToYear();
DEFINE ISOToMonth org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToMonth();
DEFINE ISOToWeek org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToWeek();
DEFINE ISOToDay org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToDay();
DEFINE ISOToHour org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToHour();
DEFINE ISOToMinute org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToMinute();
DEFINE ISOToSecond org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToSecond();
ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:chararray, dt2:chararray);
DESCRIBE ISOin;
ISOin: {dt: chararray,dt2: chararray}
DUMP ISOin;
(2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
(2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
(2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
...
truncated = FOREACH ISOin GENERATE ISOToYear(dt) AS year,
ISOToMonth(dt) as month,
ISOToWeek(dt) as week,
ISOToDay(dt) AS day,
ISOToHour(dt) AS hour,
ISOToMinute(dt) AS min,
ISOToSecond(dt) as sec;
DESCRIBE truncated;
truncated: {year: chararray,month: chararray,week: chararray,day: chararray,hour: chararray,min: chararray,sec: chararray}
DUMP truncated;
(2009-01-01T00:00:00.000Z,2009-01-01T00:00:00.000Z,2009-01-05T00:00:00.000Z,2009-01-07T00:00:00.000Z,2009-01-07T01:00:00.000Z,2009-01-07T01:07:00.000Z,2009-01-07T01:07:01.000Z)
(2008-01-01T00:00:00.000Z,2008-02-01T00:00:00.000Z,2008-02-04T00:00:00.000Z,2008-02-06T00:00:00.000Z,2008-02-06T02:00:00.000Z,2008-02-06T02:06:00.000Z,2008-02-06T02:06:02.000Z)
(2007-01-01T00:00:00.000Z,2007-03-01T00:00:00.000Z,2007-03-05T00:00:00.000Z,2007-03-05T00:00:00.000Z,2007-03-05T03:00:00.000Z,2007-03-05T03:05:00.000Z,2007-03-05T03:05:03.000Z)
Methods inherited from class org.apache.pig.EvalFunc |
finish, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, isAsynchronous, progress, setPigLogger, setReporter, warn |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ISOToMinute
public ISOToMinute()
exec
public String 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<String>
- Parameters:
input
- the Tuple to be processed.
- Returns:
- result, of type T.
- Throws:
IOException
outputSchema
public Schema outputSchema(Schema input)
- Overrides:
outputSchema
in class EvalFunc<String>
- Parameters:
input
- Schema of the input
- Returns:
- Schema of the output
getArgToFuncMapping
public List<FuncSpec> getArgToFuncMapping()
throws FrontendException
- Overrides:
getArgToFuncMapping
in class EvalFunc<String>
- Returns:
- A List containing FuncSpec objects representing the Function class
which can handle the inputs corresponding to the schema in the objects
- Throws:
FrontendException
Copyright © ${year} The Apache Software Foundation