public abstract class AbstractJsonRecordParser extends AbstractRecordParser
RichCdcMultiplexRecord
objects.
This abstract class defines common functionalities and fields required for parsing messages. Subclasses are expected to provide specific implementations for extracting records, validating message formats, and other format-specific operations.
Modifier and Type | Field and Description |
---|---|
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode |
root |
computedColumns, FIELD_DATABASE, FIELD_TABLE, typeMapping
Constructor and Description |
---|
AbstractJsonRecordParser(TypeMapping typeMapping,
List<ComputedColumn> computedColumns) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkNotNull(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode node,
String key) |
protected void |
checkNotNull(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode node,
String key,
String conditionKey,
String conditionValue) |
protected abstract String |
dataField() |
protected List<String> |
extractPrimaryKeys() |
protected Map<String,String> |
extractRowData(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode record,
RowType.Builder rowTypeBuilder) |
protected void |
fillDefaultTypes(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode record,
RowType.Builder rowTypeBuilder) |
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode |
getAndCheck(String key) |
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode |
getAndCheck(String key,
String conditionKey,
String conditionValue) |
protected String |
getDatabaseName() |
protected String |
getTableName() |
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode |
mergeOldRecord(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode data,
org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode oldNode) |
protected abstract String |
primaryField() |
protected void |
processRecord(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode jsonNode,
RowKind rowKind,
List<RichCdcMultiplexRecord> records) |
protected void |
setRoot(CdcSourceRecord record) |
buildSchema, createRecord, evalComputedColumns, extractRecords, flatMap, format, isDDL
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode root
public AbstractJsonRecordParser(TypeMapping typeMapping, List<ComputedColumn> computedColumns)
protected void setRoot(CdcSourceRecord record)
setRoot
in class AbstractRecordParser
protected abstract String primaryField()
protected abstract String dataField()
protected void fillDefaultTypes(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode record, RowType.Builder rowTypeBuilder)
protected Map<String,String> extractRowData(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode record, RowType.Builder rowTypeBuilder)
protected List<String> extractPrimaryKeys()
extractPrimaryKeys
in class AbstractRecordParser
protected void processRecord(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode jsonNode, RowKind rowKind, List<RichCdcMultiplexRecord> records)
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode mergeOldRecord(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode data, org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode oldNode)
@Nullable protected String getTableName()
getTableName
in class AbstractRecordParser
@Nullable protected String getDatabaseName()
getDatabaseName
in class AbstractRecordParser
protected void checkNotNull(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode node, String key)
protected void checkNotNull(org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode node, String key, String conditionKey, String conditionValue)
protected org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode getAndCheck(String key)
Copyright © 2023–2024 The Apache Software Foundation. All rights reserved.