@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 task that executes the
function.
|
void |
open(Configuration parameters)
Deprecated.
This method is deprecated since Flink 1.19. The users are recommended to
implement
open(OpenContext openContext) and implement open(Configuration
parameters) with an empty body instead. 1. If you implement open(OpenContext
openContext) , the open(OpenContext openContext) will be invoked and the open(Configuration parameters) won't be invoked. 2. If you don't implement open(OpenContext openContext) , the open(Configuration parameters) will be
invoked in the default implementation of the open(OpenContext openContext) . |
default void |
open(OpenContext openContext)
Initialization method for the function.
|
void |
setRuntimeContext(RuntimeContext t)
Sets the function's runtime context.
|
@Deprecated void open(Configuration parameters) throws Exception
open(OpenContext openContext)
and implement open(Configuration
parameters)
with an empty body instead. 1. If you implement open(OpenContext
openContext)
, the open(OpenContext openContext)
will be invoked and the open(Configuration parameters)
won't be invoked. 2. If you don't implement open(OpenContext openContext)
, the open(Configuration parameters)
will be
invoked in the default implementation of the open(OpenContext openContext)
.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 MyFilter extends RichFilterFunction<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
,
FLIP-344: Remove parameter in RichFunction#open @PublicEvolving default void open(OpenContext openContext) throws Exception
The openContext object passed to the function can be used for configuration and initialization. The openContext contains some necessary information that were configured on the function in the program composition.
public class MyFilter extends RichFilterFunction<String> {
private String searchString;
public void open(OpenContext openContext) {
// initialize the value of searchString
}
public boolean filter(String value) {
return value.equals(searchString);
}
}
By default, this method does nothing.
1. If you implement open(OpenContext openContext)
, the open(OpenContext
openContext)
will be invoked and the open(Configuration parameters)
won't be
invoked. 2. If you don't implement open(OpenContext openContext)
, the open(Configuration parameters)
will be invoked in the default implementation of the open(OpenContext openContext)
.
openContext
- The context containing information about the context in which the function
is opened.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.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–2024 The Apache Software Foundation. All rights reserved.