|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Operation<Context>
Interface Operation is the base interface for all functions applied to Tuple
streams.
Function
, Filter
, Aggregator
, Buffer
, and Assertion
.
Use BaseOperation
for a convenient way to create new Operation types.
BaseOperation
,
Function
,
Filter
,
Aggregator
,
Buffer
,
Assertion
Field Summary | |
---|---|
static int |
ANY
Field ANY denotes that a given Operation will take any number of argument values |
Method Summary | |
---|---|
void |
cleanup(FlowProcess flowProcess,
OperationCall<Context> operationCall)
The cleanup method is called immediately after the current Operation instance is taken out of play processing Tuples. |
void |
flush(FlowProcess flowProcess,
OperationCall<Context> operationCall)
The flush method is called when an Operation that is caching values must empty the cache. |
Fields |
getFieldDeclaration()
Returns the fields created by this Operation instance. |
int |
getNumArgs()
The minimum number of arguments this Operation expects from the calling Each or
Every Operator. |
boolean |
isSafe()
Returns true if this Operation instance can safely execute on the same 'record' multiple
times, false otherwise. |
void |
prepare(FlowProcess flowProcess,
OperationCall<Context> operationCall)
The prepare method is called immediately before the current Operation instance is put into play processing Tuples. |
Field Detail |
---|
static final int ANY
Method Detail |
---|
void prepare(FlowProcess flowProcess, OperationCall<Context> operationCall)
cleanup(cascading.flow.FlowProcess, OperationCall)
method.
Any resources created should be stored in the Context
, not as instance fields on the class.
This method may be called more than once during the life of this instance. But it will never be called multiple times
without a cleanup invocation immediately before subsequent invocations.
If the Flow this Operation instance belongs will execute on a remote cluster, this method will be called
cluster side, not client side.
flowProcess
- operationCall
- void flush(FlowProcess flowProcess, OperationCall<Context> operationCall)
cleanup(cascading.flow.FlowProcess, OperationCall)
is invoked.
It is safe to cast the OperationCall
to a FunctionCall
, or equivalent, and
get its FunctionCall.getOutputCollector()
.
flowProcess
- operationCall
- void cleanup(FlowProcess flowProcess, OperationCall<Context> operationCall)
prepare(cascading.flow.FlowProcess, OperationCall)
method.
This method may be called more than once during the life of this instance. But it will never be called multiple times
without a prepare invocation before.
If the Flow this Operation instance belongs will execute on a remote cluster, this method will be called
cluster side, not client side.
flowProcess
- operationCall
- Fields getFieldDeclaration()
Filter
, it should always
return Fields.ALL
.
getFieldDeclaration
in interface DeclaresResults
int getNumArgs()
Each
or
Every
Operator.
Operations should be willing to receive more arguments than expected, but should ignore them if they are unused,
instead of failing.
boolean isSafe()
true
if this Operation instance can safely execute on the same 'record' multiple
times, false
otherwise.
That is, this Operation is safe if it has no side-effects, or if it does, they are idempotent.
If seeing the same 'record' more than once can cause errors (internally or externally),
this method must return false
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |