T
- CDC change event typepublic class CdcDynamicTableParsingProcessFunction<T> extends org.apache.flink.streaming.api.functions.ProcessFunction<T,Void>
ProcessFunction
to parse CDC change event to either a list of DataField
s or
CdcRecord
and send them to different side outputs according to table name. This process
function will capture newly added tables when syncing entire database and in cases where the
newly added tables are including by attesting table filters.
This ProcessFunction
can handle records for different tables at the same time.
Modifier and Type | Field and Description |
---|---|
static org.apache.flink.util.OutputTag<CdcMultiplexRecord> |
DYNAMIC_OUTPUT_TAG |
static org.apache.flink.util.OutputTag<org.apache.flink.api.java.tuple.Tuple2<Identifier,List<DataField>>> |
DYNAMIC_SCHEMA_CHANGE_OUTPUT_TAG |
Constructor and Description |
---|
CdcDynamicTableParsingProcessFunction(String database,
CatalogLoader catalogLoader,
EventParser.Factory<T> parserFactory) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
open(org.apache.flink.configuration.Configuration parameters)
Do not annotate with
@override here to maintain compatibility with Flink 2.0+. |
void |
open(OpenContext openContext)
Do not annotate with
@override here to maintain compatibility with Flink 1.18-. |
void |
processElement(T raw,
org.apache.flink.streaming.api.functions.ProcessFunction.Context context,
org.apache.flink.util.Collector<Void> collector) |
public static final org.apache.flink.util.OutputTag<CdcMultiplexRecord> DYNAMIC_OUTPUT_TAG
public static final org.apache.flink.util.OutputTag<org.apache.flink.api.java.tuple.Tuple2<Identifier,List<DataField>>> DYNAMIC_SCHEMA_CHANGE_OUTPUT_TAG
public CdcDynamicTableParsingProcessFunction(String database, CatalogLoader catalogLoader, EventParser.Factory<T> parserFactory)
public void open(OpenContext openContext) throws Exception
@override
here to maintain compatibility with Flink 1.18-.Exception
public void open(org.apache.flink.configuration.Configuration parameters) throws Exception
@override
here to maintain compatibility with Flink 2.0+.open
in interface org.apache.flink.api.common.functions.RichFunction
open
in class org.apache.flink.api.common.functions.AbstractRichFunction
Exception
public void processElement(T raw, org.apache.flink.streaming.api.functions.ProcessFunction.Context context, org.apache.flink.util.Collector<Void> collector) throws Exception
Copyright © 2023–2025 The Apache Software Foundation. All rights reserved.