public class MilliSecondsBetween extends EvalFunc<Long>
MilliSecondsBetween returns the number of milliseconds between two DateTime objects
Example usage: ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime); DESCRIBE ISOin; ISOin: {dt: datetime,dt2: datetime} 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 YearsBetween(dt, dt2) AS years, MonthsBetween(dt, dt2) AS months, WeeksBetween(dt, dt2) AS weeks, DaysBetween(dt, dt2) AS days, HoursBetween(dt, dt2) AS hours, MinutesBetween(dt, dt2) AS mins, SecondsBetween(dt, dt2) AS secs; MilliSecondsBetween(dt, dt2) AS millis; DESCRIBE diffs; diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long} DUMP diffs; (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L) (0L,0L,0L,5L,122L,7326L,439562L,439562000L) (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)
EvalFunc.SchemaType
log, pigLogger, reporter, returnType
Constructor and Description |
---|
MilliSecondsBetween() |
Modifier and Type | Method and Description |
---|---|
boolean |
allowCompileTimeCalculation()
Whether the UDF should be evaluated at compile time if all inputs are constant.
|
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.
|
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
public boolean allowCompileTimeCalculation()
EvalFunc
allowCompileTimeCalculation
in class EvalFunc<Long>
Copyright © 2007-2017 The Apache Software Foundation