@Public public interface RichFunction extends Function
Modifier and Type | Method and Description |
---|---|
void |
close()
Tear-down method for the user code.
|
IterationRuntimeContext |
getIterationRuntimeContext()
Gets a specialized version of the
RuntimeContext , which has additional information
about the iteration in which the function is executed. |
RuntimeContext |
getRuntimeContext()
Gets the context that contains information about the UDF's runtime, such as the
parallelism of the function, the subtask index of the function, or the name of
the of the task that executes the function.
|
void |
open(Configuration parameters)
Initialization method for the function.
|
void |
setRuntimeContext(RuntimeContext t)
Sets the function's runtime context.
|
void open(Configuration parameters) throws Exception
The configuration object passed to the function can be used for configuration and initialization. The configuration contains all parameters that were configured on the function in the program composition.
public class MyMapper extends FilterFunction<String> {
private String searchString;
public void open(Configuration parameters) {
this.searchString = parameters.getString("foo");
}
public boolean filter(String value) {
return value.equals(searchString);
}
}
By default, this method does nothing.
parameters
- The configuration containing the parameters attached to the contract.Exception
- Implementations may forward exceptions, which are caught by the runtime. When the
runtime catches an exception, it aborts the task and lets the fail-over logic
decide whether to retry the task execution.Configuration
void close() throws Exception
This method can be used for clean up work.
Exception
- Implementations may forward exceptions, which are caught by the runtime. When the
runtime catches an exception, it aborts the task and lets the fail-over logic
decide whether to retry the task execution.RuntimeContext getRuntimeContext()
The RuntimeContext also gives access to the
Accumulator
s and the
DistributedCache
.
IterationRuntimeContext getIterationRuntimeContext()
RuntimeContext
, which has additional information
about the iteration in which the function is executed. This IterationRuntimeContext is only
available if the function is part of an iteration. Otherwise, this method throws an exception.IllegalStateException
- Thrown, if the function is not executed as part of an iteration.void setRuntimeContext(RuntimeContext t)
t
- The runtime context.Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.