public class RowTimeDeduplicateFunction extends KeyedProcessFunction<K,IN,OUT>
KeyedProcessFunction.Context, KeyedProcessFunction.OnTimerContext
Modifier and Type | Field and Description |
---|---|
protected TypeSerializer<OUT> |
serializer |
protected ValueState<T> |
state |
protected long |
stateRetentionTime |
protected TypeInformation<T> |
typeInfo |
Constructor and Description |
---|
RowTimeDeduplicateFunction(InternalTypeInfo<RowData> typeInfo,
long minRetentionTime,
int rowtimeIndex,
boolean generateUpdateBefore,
boolean generateInsert,
boolean keepLastRow) |
Modifier and Type | Method and Description |
---|---|
static void |
deduplicateOnRowTime(ValueState<RowData> state,
RowData currentRow,
Collector<RowData> out,
boolean generateUpdateBefore,
boolean generateInsert,
int rowtimeIndex,
boolean keepLastRow)
Processes element to deduplicate on keys with row time semantic, sends current element if it
is last or first row, retracts previous element if needed.
|
void |
open(Configuration configure)
Initialization method for the function.
|
void |
processElement(RowData input,
KeyedProcessFunction.Context ctx,
Collector<RowData> out)
Process one element from the input stream.
|
onTimer
close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
protected final TypeInformation<T> typeInfo
protected final long stateRetentionTime
protected final TypeSerializer<OUT> serializer
protected ValueState<T> state
public RowTimeDeduplicateFunction(InternalTypeInfo<RowData> typeInfo, long minRetentionTime, int rowtimeIndex, boolean generateUpdateBefore, boolean generateInsert, boolean keepLastRow)
public void processElement(RowData input, KeyedProcessFunction.Context ctx, Collector<RowData> out) throws Exception
KeyedProcessFunction
This function can output zero or more elements using the Collector
parameter and
also update internal state or set timers using the KeyedProcessFunction.Context
parameter.
processElement
in class KeyedProcessFunction<RowData,RowData,RowData>
input
- The input value.ctx
- A KeyedProcessFunction.Context
that allows querying the timestamp of the element and getting a
TimerService
for registering timers and querying the time. The context is only
valid during the invocation of this method, do not store it.out
- The collector for returning result values.Exception
- This method may throw exceptions. Throwing an exception will cause the
operation to fail and may trigger recovery.public static void deduplicateOnRowTime(ValueState<RowData> state, RowData currentRow, Collector<RowData> out, boolean generateUpdateBefore, boolean generateInsert, int rowtimeIndex, boolean keepLastRow) throws Exception
state
- state of functioncurrentRow
- latest row received by deduplicate functionout
- underlying collectorgenerateUpdateBefore
- flag to generate UPDATE_BEFORE message or notgenerateInsert
- flag to gennerate INSERT message or notrowtimeIndex
- the index of rowtime fieldkeepLastRow
- flag to keep last row or keep first rowException
public void open(Configuration configure) throws Exception
RichFunction
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.
open
in interface RichFunction
open
in class AbstractRichFunction
configure
- 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
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.