[
https://issues.apache.org/jira/browse/FLINK-18758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leonard Xu updated FLINK-18758:
-------------------------------
Description:
Currently debezium json format wrapper the json format to
serialize/deserialize the debezuim json format data.
But debezium json format has its own data type which consists of Literal Type
and Semantic Type[1], i.g. Date type in debezium is an integer which represents
the number of days since epoch rather than a string with 'yyyy-MM-dd' pattern.
{code:java}
{ "schema":{
"fields":[
{
"fields":[
{
"type":"int32", //Literal Type
"optional":false,
"name":"io.debezium.time.Date", //semantic Type
"version":1,
"field":"order_date"
},
{ "type":"int32",
"optional":false,
"field":"quantity"
}
]
}
]
},
"payload":{
"before":null,
"after":{
"order_date":16852, // Literal Value, the number of days since epoch
"quantity":1
},
"op":"c",
"ts_ms":1596081813474
}
} {code}
I think we need obtain the debezuim data type from schema information and then
serialize/deserialize the data in payload.
[1][https://debezium.io/documentation/reference/1.2/connectors/mysql.html]
was:
Currently debezium json format wrapper the json format to
serialize/deserialize the debezuim json format data.
But debezium json format has its own data type which consists of Literal Type
and Semantic Type[1], i.g. Date type in debezium is the an integer which
represents the number of days since epoch rather than a string with
'yyyy-MM-dd' pattern.
{code:java}
{ "schema":{ "fields":[ { "fields":[ {
"type":"int32",
"optional":false,
"name":"io.debezium.time.Date",
"version":1,
"field":"order_date"
},
{ "type":"int32",
"optional":false,
"field":"quantity"
}
]
}
]
},
"payload":{
"before":null,
"after":{
"order_date":16852,
"quantity":1
},
"op":"c",
"ts_ms":1596081813474
}
} {code}
I think we need obtain the debezuim data type from schema information and then
serialize/deserialize the data in payload.
[1][https://debezium.io/documentation/reference/1.2/connectors/mysql.html]
> Support debezium data type in debezium format
> ----------------------------------------------
>
> Key: FLINK-18758
> URL: https://issues.apache.org/jira/browse/FLINK-18758
> Project: Flink
> Issue Type: Improvement
> Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
> Reporter: Leonard Xu
> Priority: Major
>
> Currently debezium json format wrapper the json format to
> serialize/deserialize the debezuim json format data.
> But debezium json format has its own data type which consists of Literal Type
> and Semantic Type[1], i.g. Date type in debezium is an integer which
> represents the number of days since epoch rather than a string with
> 'yyyy-MM-dd' pattern.
> {code:java}
> { "schema":{
> "fields":[
> {
> "fields":[
> {
> "type":"int32", //Literal Type
> "optional":false,
> "name":"io.debezium.time.Date", //semantic Type
> "version":1,
> "field":"order_date"
> },
> { "type":"int32",
> "optional":false,
> "field":"quantity"
> }
> ]
> }
> ]
> },
> "payload":{
> "before":null,
> "after":{
> "order_date":16852, // Literal Value, the number of days since epoch
> "quantity":1
> },
> "op":"c",
> "ts_ms":1596081813474
> }
> } {code}
>
> I think we need obtain the debezuim data type from schema information and
> then serialize/deserialize the data in payload.
> [1][https://debezium.io/documentation/reference/1.2/connectors/mysql.html]
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)