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, isDDLprotected 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 AbstractRecordParserprotected 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 AbstractRecordParserprotected 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 AbstractRecordParserprotected 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.