Search in sources :

Example 1 with DebeziumSerializationInfo

use of org.apache.inlong.sort.protocol.serialization.DebeziumSerializationInfo in project incubator-inlong by apache.

the class RowToDebeziumJsonKafkaSinkTest method prepareData.

@Override
protected void prepareData() throws IOException, ClassNotFoundException {
    topic = "test_kafka_row_to_debezium";
    fieldInfos = new FieldInfo[] { new FieldInfo("f1", new StringFormatInfo()), new FieldInfo("f2", new IntFormatInfo()) };
    serializationSchema = SerializationSchemaFactory.build(fieldInfos, new DebeziumSerializationInfo("sql", "literal", "null", true));
    prepareTestData();
}
Also used : DebeziumSerializationInfo(org.apache.inlong.sort.protocol.serialization.DebeziumSerializationInfo) IntFormatInfo(org.apache.inlong.sort.formats.common.IntFormatInfo) StringFormatInfo(org.apache.inlong.sort.formats.common.StringFormatInfo) FieldInfo(org.apache.inlong.sort.protocol.FieldInfo)

Example 2 with DebeziumSerializationInfo

use of org.apache.inlong.sort.protocol.serialization.DebeziumSerializationInfo in project incubator-inlong by apache.

the class SerializationUtils method serializeForKafka.

/**
 * Get serialization info for Kafka
 */
private static SerializationInfo serializeForKafka(SourceResponse sourceResponse, KafkaSinkResponse sinkResponse) {
    String serializationType = sinkResponse.getSerializationType();
    DataTypeEnum dataType = DataTypeEnum.forName(serializationType);
    switch(dataType) {
        case AVRO:
            return new AvroSerializationInfo();
        case JSON:
            return new JsonSerializationInfo();
        case CANAL:
            return new CanalSerializationInfo();
        case DEBEZIUM_JSON:
            Assert.isInstanceOf(BinlogSourceResponse.class, sourceResponse, "Unsupported serializationType for Kafka");
            BinlogSourceResponse binlogSource = (BinlogSourceResponse) sourceResponse;
            return new DebeziumSerializationInfo(binlogSource.getTimestampFormatStandard(), "FAIL", "", false);
        default:
            throw new IllegalArgumentException(String.format("Unsupported serializationType for Kafka sink: %s", serializationType));
    }
}
Also used : DebeziumSerializationInfo(org.apache.inlong.sort.protocol.serialization.DebeziumSerializationInfo) DataTypeEnum(org.apache.inlong.common.enums.DataTypeEnum) CanalSerializationInfo(org.apache.inlong.sort.protocol.serialization.CanalSerializationInfo) BinlogSourceResponse(org.apache.inlong.manager.common.pojo.source.binlog.BinlogSourceResponse) AvroSerializationInfo(org.apache.inlong.sort.protocol.serialization.AvroSerializationInfo) JsonSerializationInfo(org.apache.inlong.sort.protocol.serialization.JsonSerializationInfo)

Aggregations

DebeziumSerializationInfo (org.apache.inlong.sort.protocol.serialization.DebeziumSerializationInfo)2 DataTypeEnum (org.apache.inlong.common.enums.DataTypeEnum)1 BinlogSourceResponse (org.apache.inlong.manager.common.pojo.source.binlog.BinlogSourceResponse)1 IntFormatInfo (org.apache.inlong.sort.formats.common.IntFormatInfo)1 StringFormatInfo (org.apache.inlong.sort.formats.common.StringFormatInfo)1 FieldInfo (org.apache.inlong.sort.protocol.FieldInfo)1 AvroSerializationInfo (org.apache.inlong.sort.protocol.serialization.AvroSerializationInfo)1 CanalSerializationInfo (org.apache.inlong.sort.protocol.serialization.CanalSerializationInfo)1 JsonSerializationInfo (org.apache.inlong.sort.protocol.serialization.JsonSerializationInfo)1