public class ISODaysBetween extends EvalFunc<Long>
ISODaysBetween returns the number of days between two ISO8601 datetimes as a Long
Example usage: REGISTER /Users/me/commiter/piggybank/java/piggybank.jar ; REGISTER /Users/me/commiter/piggybank/java/lib/joda-time-1.6.jar ; DEFINE ISOYearsBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISOYearsBetween(); DEFINE ISOMonthsBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISOMonthsBetween(); DEFINE ISODaysBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISODaysBetween(); DEFINE ISOHoursBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISOHoursBetween(); DEFINE ISOMinutesBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISOMinutesBetween(); DEFINE ISOSecondsBetween org.apache.pig.piggybank.evaluation.datetime.diff.ISOSecondsBetween(); 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) ... diffs = FOREACH ISOin GENERATE ISOYearsBetween(dt, dt2) AS years, ISOMonthsBetween(dt, dt2) AS months, ISODaysBetween(dt, dt2) AS days, ISOHoursBetween(dt, dt2) AS hours, ISOMinutesBetween(dt, dt2) AS mins, ISOSecondsBetween(dt, dt2) AS secs; DESCRIBE diffs; diffs: {years: long,months: long,days: long,hours: long,mins: long,secs: long} DUMP diffs; (0L,11L,341,8185L,491107L,29466421L) (0L,0L,5,122L,7326L,439562L) (0L,-10L,-332,-7988L,-479334L,-28760097L)
EvalFunc.SchemaType
log, pigLogger, reporter, returnType
Constructor and Description |
---|
ISODaysBetween() |
Modifier and Type | Method and Description |
---|---|
Long |
exec(Tuple input)
This callback method must be implemented by all subclasses.
|
List<FuncSpec> |
getArgToFuncMapping()
Allow a UDF to specify type specific implementations of itself.
|
Schema |
outputSchema(Schema input)
Report the schema of the output of this UDF.
|
allowCompileTimeCalculation, finish, getCacheFiles, getInputSchema, getLoadCaster, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, needEndOfAllInputProcessing, progress, setEndOfAllInput, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn
public Long exec(Tuple input) throws IOException
EvalFunc
exec
in class EvalFunc<Long>
input
- the Tuple to be processed.IOException
public Schema outputSchema(Schema input)
EvalFunc
The default implementation interprets the OutputSchema
annotation,
if one is present. Otherwise, it returns null
(no known output schema).
outputSchema
in class EvalFunc<Long>
input
- Schema of the inputpublic List<FuncSpec> getArgToFuncMapping() throws FrontendException
EvalFunc
getArgToFuncMapping
in class EvalFunc<Long>
FrontendException
Copyright © 2007-2017 The Apache Software Foundation