public class CoordELFunctions extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONFIGURATION |
static java.lang.String |
COORD_ACTION |
static java.lang.String |
DATASET |
static long |
DAY_MSEC |
static java.lang.String |
DIR_SEPARATOR |
static long |
HOUR_MSEC |
static java.lang.String |
INSTANCE_SEPARATOR |
static java.lang.String |
LATEST_EL_USE_CURRENT_TIME |
static long |
MINUTE_MSEC |
static long |
MONTH_MSEC |
static long |
YEAR_MSEC |
| Constructor and Description |
|---|
CoordELFunctions() |
| Modifier and Type | Method and Description |
|---|---|
static void |
configureEvaluator(ELEvaluator evaluator,
SyncCoordDataset ds,
SyncCoordAction coordAction)
Configure an evaluator with data set and application specific information.
|
static java.lang.String |
coord_actualTime_echo() |
static java.lang.String |
coord_conf(java.lang.String property)
Return a job configuration property for the coordinator.
|
static java.lang.String |
coord_days_echo(java.lang.String n) |
static java.lang.String |
coord_endOfDay_echo(java.lang.String n) |
static java.lang.String |
coord_endOfMonth_echo(java.lang.String n) |
static java.lang.String |
coord_hours_echo(java.lang.String n) |
static java.lang.String |
coord_minutes_echo(java.lang.String n) |
static java.lang.String |
coord_months_echo(java.lang.String n) |
static java.lang.String |
coord_user()
Return the user that submitted the coordinator job.
|
static java.lang.String |
evalAndWrap(ELEvaluator eval,
java.lang.String expr)
Helper method to wrap around with "${..}".
|
static java.util.List<java.lang.Integer> |
expandOffsetTimes(java.util.Calendar startCal,
java.util.Calendar endCal,
ELEvaluator eval)
Takes two offset times and returns a list of multiples of the frequency offset from the effective nominal time that occur
between them.
|
static java.util.Calendar |
getCurrentInstance(java.util.Date effectiveTime,
int[] instanceCount)
Find the current instance based on effectiveTime (i.e Action_Creation_Time or Action_Start_Time)
|
static java.util.TimeZone |
getDatasetTZ() |
static TimeUnit |
getDSTimeUnit(ELEvaluator eval) |
static java.util.Calendar |
getEffectiveNominalTime() |
static java.lang.String |
ph1_coord_absolute_echo(java.lang.String date) |
static java.lang.String |
ph1_coord_actionId_echo() |
static java.lang.String |
ph1_coord_actualTime_echo_wrap() |
static java.lang.String |
ph1_coord_current_echo(java.lang.String n) |
static java.lang.String |
ph1_coord_currentRange_echo(java.lang.String start,
java.lang.String end) |
static java.lang.String |
ph1_coord_dataIn_echo(java.lang.String n) |
static java.lang.String |
ph1_coord_dataOut_echo(java.lang.String n) |
static java.lang.String |
ph1_coord_dateOffset_echo(java.lang.String n,
java.lang.String offset,
java.lang.String unit) |
static java.lang.String |
ph1_coord_dateTzOffset_echo(java.lang.String n,
java.lang.String timezone) |
static int |
ph1_coord_days(int val)
Used in defining the frequency in 'day' unit.
|
static java.lang.String |
ph1_coord_daysInMonth_echo(java.lang.String n) |
static int |
ph1_coord_endOfDays(int val)
Used in defining the frequency in 'day' unit and specify the "end of day" property.
|
static int |
ph1_coord_endOfMonths(int val)
Used in defining the frequency in 'month' unit and specify the "end of month" property.
|
static java.lang.String |
ph1_coord_epochTime_echo(java.lang.String dateTime,
java.lang.String millis) |
static java.lang.String |
ph1_coord_formatTime_echo(java.lang.String dateTime,
java.lang.String format) |
static java.lang.String |
ph1_coord_future_echo(java.lang.String n,
java.lang.String instance) |
static java.lang.String |
ph1_coord_futureRange_echo(java.lang.String start,
java.lang.String end,
java.lang.String instance) |
static int |
ph1_coord_hours(int val)
Used in defining the frequency in 'hour' unit.
|
static java.lang.String |
ph1_coord_hoursInDay_echo(java.lang.String n) |
static java.lang.String |
ph1_coord_latest_echo(java.lang.String n) |
static java.lang.String |
ph1_coord_latestRange_echo(java.lang.String start,
java.lang.String end) |
static int |
ph1_coord_minutes(int val)
Used in defining the frequency in 'minute' unit.
|
static int |
ph1_coord_months(int val)
Used in defining the frequency in 'month' unit.
|
static java.lang.String |
ph1_coord_name_echo() |
static java.lang.String |
ph1_coord_nominalTime_echo_fixed() |
static java.lang.String |
ph1_coord_nominalTime_echo_wrap() |
static java.lang.String |
ph1_coord_nominalTime_echo() |
static java.lang.String |
ph1_coord_offset_echo(java.lang.String n,
java.lang.String timeUnit) |
static java.lang.String |
ph1_coord_tzOffset_echo() |
static java.lang.String |
ph2_coord_absolute_echo(java.lang.String date) |
static java.lang.String |
ph2_coord_absolute_range(java.lang.String startInstance,
int end) |
static java.lang.String |
ph2_coord_actionId()
Return Action Id.
|
static java.lang.String |
ph2_coord_actualTime()
Return Action Start time.
|
static java.lang.String |
ph2_coord_current_echo(java.lang.String n) |
static java.lang.String |
ph2_coord_current(int n)
Determine the date-time in Oozie processing timezone of n-th dataset instance.
|
static java.lang.String |
ph2_coord_currentRange_echo(java.lang.String start,
java.lang.String end) |
static java.lang.String |
ph2_coord_currentRange(int start,
int end)
Determine the date-time in Oozie processing timezone of current dataset instances
from start to end offsets from the nominal time.
|
static java.lang.String |
ph2_coord_dateOffset(java.lang.String strBaseDate,
int offset,
java.lang.String unit)
Returns a date string that is offset from 'strBaseDate' by the amount specified.
|
static java.lang.String |
ph2_coord_dateTzOffset(java.lang.String strBaseDate,
java.lang.String timezone)
Returns a date string that is offset from 'strBaseDate' by the difference from Oozie processing timezone to the given
timezone.
|
static int |
ph2_coord_daysInMonth(int n)
Calculate number of days in one month for n-th dataset instance.
|
static java.lang.String |
ph2_coord_epochTime(java.lang.String dateTimeStr,
java.lang.String millis)
Return Action Id.
|
static java.lang.String |
ph2_coord_formatTime(java.lang.String dateTimeStr,
java.lang.String format)
Convert from standard date-time formatting to a desired format.
|
static java.lang.String |
ph2_coord_future_echo(java.lang.String n,
java.lang.String instance) |
static java.lang.String |
ph2_coord_futureRange_echo(java.lang.String start,
java.lang.String end,
java.lang.String instance) |
static int |
ph2_coord_hoursInDay(int n)
Determine how many hours is on the date of n-th dataset instance.
|
static java.lang.String |
ph2_coord_latest_echo(java.lang.String n) |
static java.lang.String |
ph2_coord_latestRange_echo(java.lang.String start,
java.lang.String end) |
static java.lang.String |
ph2_coord_name()
Return Job Name.
|
static java.lang.String |
ph2_coord_nominalTime()
Return nominal time or Action Creation Time.
|
static java.lang.String |
ph2_coord_offset_echo(java.lang.String n,
java.lang.String timeUnit) |
static java.lang.String |
ph2_coord_offset(int n,
java.lang.String timeUnit)
Determine the date-time in Oozie processing timezone of the given offset from the dataset effective nominal time.
|
static int |
ph2_coord_tzOffset()
Calculate the difference of timezone offset in minutes between dataset and coordinator job.
|
static java.lang.String |
ph3_coord_actionId() |
static java.lang.String |
ph3_coord_actualTime() |
static java.lang.String |
ph3_coord_dataIn(java.lang.String dataInName)
Used to specify a list of URI's that are used as input dir to the workflow job.
|
static java.lang.String |
ph3_coord_dataOut(java.lang.String dataOutName)
Used to specify a list of URI's that are output dir of the workflow job.
|
static java.lang.String |
ph3_coord_dateOffset(java.lang.String strBaseDate,
int offset,
java.lang.String unit) |
static java.lang.String |
ph3_coord_dateTzOffset(java.lang.String strBaseDate,
java.lang.String timezone) |
static int |
ph3_coord_daysInMonth(int n) |
static java.lang.String |
ph3_coord_epochTime(java.lang.String dateTimeStr,
java.lang.String millis) |
static java.lang.String |
ph3_coord_formatTime(java.lang.String dateTimeStr,
java.lang.String format) |
static java.lang.String |
ph3_coord_future(int n,
int instance)
Determine the date-time in Oozie processing timezone of n-th future available dataset instance
from nominal Time but not beyond the instance specified as 'instance.
|
static java.lang.String |
ph3_coord_futureRange(int start,
int end,
int instance)
Determine the date-time in Oozie processing timezone of the future available dataset instances
from start to end offsets from nominal Time but not beyond the instance specified as 'instance'.
|
static int |
ph3_coord_hoursInDay(int n) |
static java.lang.String |
ph3_coord_latest(int n)
Determine the date-time in Oozie processing timezone of n-th latest available dataset instance.
|
static java.lang.String |
ph3_coord_latestRange(int start,
int end)
Determine the date-time in Oozie processing timezone of latest available dataset instances
from start to end offsets from the nominal time.
|
static java.lang.String |
ph3_coord_name() |
static java.lang.String |
ph3_coord_nominalTime() |
static int |
ph3_coord_tzOffset() |
static java.util.Calendar |
resolveOffsetRawTime(int n,
TimeUnit timeUnit,
ELEvaluator eval)
Resolve the offset time from the effective nominal time
|
public static final java.lang.String DATASET
public static final java.lang.String COORD_ACTION
public static final java.lang.String CONFIGURATION
public static final java.lang.String LATEST_EL_USE_CURRENT_TIME
public static final java.lang.String INSTANCE_SEPARATOR
public static final java.lang.String DIR_SEPARATOR
public static final long MINUTE_MSEC
public static final long HOUR_MSEC
public static final long DAY_MSEC
public static final long MONTH_MSEC
public static final long YEAR_MSEC
public CoordELFunctions()
public static int ph1_coord_days(int val)
val > 0 and should be integer.val - frequency in number of days.public static int ph1_coord_months(int val)
val > 0 and should be integer.val - frequency in number of months.public static int ph1_coord_hours(int val)
val > 0 and should
be integer.val - frequency in number of hours.public static int ph1_coord_minutes(int val)
val > 0 and should be integer.val - frequency in number of minutes.public static int ph1_coord_endOfDays(int val)
val > 0 and should be integer.val - frequency in number of days.public static int ph1_coord_endOfMonths(int val)
val > 0 and should be integer.val: - frequency in number of months.public static int ph2_coord_tzOffset()
public static int ph3_coord_tzOffset()
public static java.lang.String ph2_coord_dateOffset(java.lang.String strBaseDate, int offset, java.lang.String unit) throws java.lang.Exception
strBaseDate - The base dateoffset - any numberunit - one of DAY, MONTH, HOUR, MINUTE, MONTHjava.lang.Exceptionpublic static java.lang.String ph3_coord_dateOffset(java.lang.String strBaseDate, int offset, java.lang.String unit) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_dateTzOffset(java.lang.String strBaseDate, java.lang.String timezone) throws java.lang.Exception
strBaseDate - The base datetimezone - java.lang.Exceptionpublic static java.lang.String ph3_coord_dateTzOffset(java.lang.String strBaseDate, java.lang.String timezone) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph3_coord_future(int n, int instance) throws java.lang.Exception
n - :instance count
domain: n >= 0, n is integerinstance: - How many future instance it should check? value should
be >=0java.lang.Exceptionpublic static java.lang.String ph3_coord_futureRange(int start, int end, int instance) throws java.lang.Exception
start - : start instance offset
domain: start >= 0, start is integerend - : end instance offset
domain: end >= 0, end is integerinstance: - How many future instance it should check? value should
be >=0java.lang.Exceptionpublic static java.lang.String ph2_coord_nominalTime() throws java.lang.Exception
java.lang.Exception - if unable to format the Date object to Stringpublic static java.lang.String ph3_coord_nominalTime() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_formatTime(java.lang.String dateTimeStr, java.lang.String format) throws java.lang.Exception
dateTimeStr - - A timestamp in standard (ISO8601) format.format - - A string representing the desired format.java.lang.Exception - if unable to format the Date object to Stringpublic static java.lang.String ph3_coord_formatTime(java.lang.String dateTimeStr, java.lang.String format) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_epochTime(java.lang.String dateTimeStr, java.lang.String millis) throws java.lang.Exception
dateTimeStr - - A timestamp in standard (ISO8601) format.millis - - "true" to include millis; otherwise will only include secondsjava.lang.Exception - if unable to format the Date object to Stringpublic static java.lang.String ph3_coord_epochTime(java.lang.String dateTimeStr, java.lang.String millis) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_actionId() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph3_coord_actionId() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_name() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph3_coord_name() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph2_coord_actualTime() throws java.lang.Exception
java.lang.Exception - if unable to format the Date object to Stringpublic static java.lang.String ph3_coord_actualTime() throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph3_coord_dataIn(java.lang.String dataInName)
dataInName - : Datain namepublic static java.lang.String ph3_coord_dataOut(java.lang.String dataOutName)
dataOutName - : Dataout namepublic static java.lang.String ph2_coord_current(int n) throws java.lang.Exception
n - instance count domain: n is integerjava.lang.Exceptionpublic static java.lang.String ph2_coord_currentRange(int start, int end) throws java.lang.Exception
start - :start instance offset domain: start <= 0, start is integerend - :end instance offset domain: end <= 0, end is integerjava.lang.Exceptionpublic static java.lang.String ph2_coord_offset(int n, java.lang.String timeUnit) throws java.lang.Exception
1. Data set frequency
2. Data set Time Unit 3. Data set Time zone/DST 4. Data set initial instance 5. Action Creation Timen - offset amount (integer)timeUnit - TimeUnit for offset n ("MINUTE", "HOUR", "DAY", "MONTH", "YEAR")java.lang.Exception - if there was a problem formattingpublic static int ph2_coord_hoursInDay(int n) throws java.lang.Exception
n - instance count domain: n is integerjava.lang.Exceptionpublic static int ph3_coord_hoursInDay(int n) throws java.lang.Exception
java.lang.Exceptionpublic static int ph2_coord_daysInMonth(int n) throws java.lang.Exception
n - instance count. domain: n is integerjava.lang.Exceptionpublic static int ph3_coord_daysInMonth(int n) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph3_coord_latest(int n) throws java.lang.Exception
n - :instance count domain: n <= 0, n is integerjava.lang.Exceptionpublic static java.lang.String ph3_coord_latestRange(int start, int end) throws java.lang.Exception
start - :start instance offset domain: start <= 0, start is integerend - :end instance offset domain: end <= 0, end is integerjava.lang.Exceptionpublic static void configureEvaluator(ELEvaluator evaluator, SyncCoordDataset ds, SyncCoordAction coordAction)
evaluator - : to set variablesds - : Data Set objectcoordAction - : Application instancepublic static java.lang.String evalAndWrap(ELEvaluator eval, java.lang.String expr) throws java.lang.Exception
eval - :EL evaluatorexpr - : expression to evaluatejava.lang.Exceptionpublic static java.lang.String ph1_coord_current_echo(java.lang.String n)
public static java.lang.String ph1_coord_absolute_echo(java.lang.String date)
public static java.lang.String ph1_coord_currentRange_echo(java.lang.String start, java.lang.String end)
public static java.lang.String ph1_coord_offset_echo(java.lang.String n, java.lang.String timeUnit)
public static java.lang.String ph2_coord_current_echo(java.lang.String n)
public static java.lang.String ph2_coord_currentRange_echo(java.lang.String start, java.lang.String end)
public static java.lang.String ph2_coord_offset_echo(java.lang.String n, java.lang.String timeUnit)
public static java.lang.String ph2_coord_absolute_echo(java.lang.String date)
public static java.lang.String ph2_coord_absolute_range(java.lang.String startInstance, int end) throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String ph1_coord_dateOffset_echo(java.lang.String n, java.lang.String offset, java.lang.String unit)
public static java.lang.String ph1_coord_dateTzOffset_echo(java.lang.String n, java.lang.String timezone)
public static java.lang.String ph1_coord_epochTime_echo(java.lang.String dateTime, java.lang.String millis)
public static java.lang.String ph1_coord_formatTime_echo(java.lang.String dateTime, java.lang.String format)
public static java.lang.String ph1_coord_latest_echo(java.lang.String n)
public static java.lang.String ph2_coord_latest_echo(java.lang.String n)
public static java.lang.String ph1_coord_future_echo(java.lang.String n, java.lang.String instance)
public static java.lang.String ph2_coord_future_echo(java.lang.String n, java.lang.String instance)
public static java.lang.String ph1_coord_latestRange_echo(java.lang.String start, java.lang.String end)
public static java.lang.String ph2_coord_latestRange_echo(java.lang.String start, java.lang.String end)
public static java.lang.String ph1_coord_futureRange_echo(java.lang.String start, java.lang.String end, java.lang.String instance)
public static java.lang.String ph2_coord_futureRange_echo(java.lang.String start, java.lang.String end, java.lang.String instance)
public static java.lang.String ph1_coord_dataIn_echo(java.lang.String n)
public static java.lang.String ph1_coord_dataOut_echo(java.lang.String n)
public static java.lang.String ph1_coord_nominalTime_echo()
public static java.lang.String ph1_coord_nominalTime_echo_wrap()
public static java.lang.String ph1_coord_nominalTime_echo_fixed()
public static java.lang.String ph1_coord_actualTime_echo_wrap()
public static java.lang.String ph1_coord_actionId_echo()
public static java.lang.String ph1_coord_name_echo()
public static java.lang.String coord_minutes_echo(java.lang.String n)
public static java.lang.String coord_hours_echo(java.lang.String n)
public static java.lang.String coord_days_echo(java.lang.String n)
public static java.lang.String coord_endOfDay_echo(java.lang.String n)
public static java.lang.String coord_months_echo(java.lang.String n)
public static java.lang.String coord_endOfMonth_echo(java.lang.String n)
public static java.lang.String coord_actualTime_echo()
public static java.lang.String ph1_coord_hoursInDay_echo(java.lang.String n)
public static java.lang.String ph1_coord_daysInMonth_echo(java.lang.String n)
public static java.lang.String ph1_coord_tzOffset_echo()
public static java.util.Calendar getCurrentInstance(java.util.Date effectiveTime, int[] instanceCount)
public static java.util.Calendar getEffectiveNominalTime()
public static TimeUnit getDSTimeUnit(ELEvaluator eval)
public static java.util.TimeZone getDatasetTZ()
public static java.lang.String coord_conf(java.lang.String property)
property - property name.null if the property is undefined.public static java.lang.String coord_user()
public static java.util.List<java.lang.Integer> expandOffsetTimes(java.util.Calendar startCal, java.util.Calendar endCal, ELEvaluator eval)
As a simple example, assume its the same day: startCal is 1:00, endCal is 2:00, frequency is 20min, and effective nominal time is 1:20 -- then this method would return a list containing: -20, 0, 20, 40, 60
startCal - The earlier offset timeendCal - The later offset timeeval - The ELEvaluator to use; cannot be nullpublic static java.util.Calendar resolveOffsetRawTime(int n, TimeUnit timeUnit, ELEvaluator eval)
n - offset amount (integer)timeUnit - TimeUnit for offset n ("MINUTE", "HOUR", "DAY", "MONTH", "YEAR")eval - The ELEvaluator to use; or null to use the "current" evalCopyright © 2017 Apache Software Foundation. All Rights Reserved.