avro
avro copied to clipboard
how to decode the kafka connect schema with type= struct?
{
"type": "struct",
"fields": [
{
"type": "struct",
"fields": [
{
"type": "string",
"optional": true,
"field": "trade_parent_id"
},
{
"type": "string",
"optional": true,
"field": "trade_id"
},
{
"type": "string",
"optional": true,
"field": "item_id"
},
{
"type": "string",
"optional": true,
"field": "goods_sign"
},
{
"type": "int64",
"optional": true,
"field": "user_id"
},
{
"type": "int16",
"optional": true,
"field": "tk_status"
},
{
"type": "string",
"optional": true,
"field": "pay_price"
},
{
"type": "string",
"optional": true,
"field": "pub_share_fee"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_earning_time"
},
{
"type": "string",
"optional": true,
"field": "pub_share_rate"
},
{
"type": "int16",
"optional": true,
"field": "refund_tag"
},
{
"type": "string",
"optional": true,
"field": "subsidy_rate"
},
{
"type": "string",
"optional": true,
"field": "tk_total_rate"
},
{
"type": "string",
"optional": true,
"field": "alimama_rate"
},
{
"type": "string",
"optional": true,
"field": "subsidy_type"
},
{
"type": "string",
"optional": true,
"field": "pub_share_pre_fee"
},
{
"type": "string",
"optional": true,
"field": "alipay_total_price"
},
{
"type": "int16",
"optional": true,
"field": "item_num"
},
{
"type": "string",
"optional": true,
"field": "subsidy_fee"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "2",
"connect.decimal.precision": "10"
},
"field": "alimama_share_fee"
},
{
"type": "string",
"optional": true,
"field": "total_commission_rate"
},
{
"type": "string",
"optional": true,
"field": "income_rate"
},
{
"type": "string",
"optional": true,
"field": "total_commission_fee"
},
{
"type": "int64",
"optional": true,
"field": "relation_id"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_deposit_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tb_deposit_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "modified_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tb_paid_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_paid_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_create_time"
},
{
"type": "string",
"optional": true,
"field": "flow_source"
},
{
"type": "string",
"optional": true,
"field": "item_price"
},
{
"type": "string",
"optional": true,
"field": "deposit_price"
},
{
"type": "string",
"optional": true,
"field": "subsidy_info_dto_list"
},
{
"type": "string",
"optional": true,
"field": "alimm_share_info_dto"
},
{
"type": "string",
"optional": true,
"field": "platform_special_share_info_dto"
},
{
"type": "string",
"optional": true,
"field": "comment"
},
{
"type": "int16",
"optional": true,
"field": "tk_order_role"
},
{
"type": "int64",
"optional": true,
"field": "adzone_id"
},
{
"type": "string",
"optional": true,
"field": "item_category_name"
},
{
"type": "string",
"optional": true,
"field": "seller_nick"
},
{
"type": "int64",
"optional": true,
"field": "pub_id"
},
{
"type": "string",
"optional": true,
"field": "item_img"
},
{
"type": "string",
"optional": true,
"field": "item_title"
},
{
"type": "string",
"optional": true,
"field": "site_name"
},
{
"type": "string",
"optional": true,
"field": "order_type"
},
{
"type": "string",
"optional": true,
"field": "terminal_type"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "click_time"
},
{
"type": "string",
"optional": true,
"field": "adzone_name"
},
{
"type": "string",
"optional": true,
"field": "item_link"
},
{
"type": "int64",
"optional": true,
"field": "site_id"
},
{
"type": "string",
"optional": true,
"field": "seller_shop_title"
},
{
"type": "int64",
"optional": true,
"field": "special_id"
},
{
"type": "string",
"optional": true,
"field": "app_key"
},
{
"type": "string",
"optional": true,
"field": "tp_order_id"
},
{
"type": "string",
"optional": true,
"field": "marketing_type"
},
{
"type": "string",
"optional": true,
"field": "extra_mkt_id"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "15"
},
"field": "pub_share_pre_fee_for_commission"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "15"
},
"field": "pub_share_fee_for_commission"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_rate_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "tk_total_rate_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_pre_fee_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_fee_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "platform_special_service_rate"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "platform_special_service_fee"
},
{
"type": "string",
"optional": true,
"field": "goods_id"
},
{
"type": "int64",
"optional": true,
"field": "standard_price"
},
{
"type": "int64",
"optional": true,
"field": "standard_share"
},
{
"type": "int32",
"optional": true,
"field": "standard_tech_rate"
},
{
"type": "int32",
"optional": true,
"field": "standard_tech_fee"
},
{
"type": "int64",
"optional": true,
"field": "standard_commission"
},
{
"type": "int64",
"optional": true,
"field": "standard_subsidy"
},
{
"type": "int64",
"optional": true,
"field": "standard_share_base"
},
{
"type": "int16",
"optional": true,
"field": "standard_status"
},
{
"type": "int16",
"optional": true,
"field": "standard_kind"
},
{
"type": "int64",
"optional": false,
"default": 0,
"field": "id"
},
{
"type": "array",
"items": {
"type": "int16",
"optional": true
},
"optional": true,
"field": "standard_tags"
},
{
"type": "int64",
"optional": true,
"field": "standard_profit"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_period"
},
{
"type": "string",
"optional": true,
"field": "standard_sn"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_create_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_earning_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_settle_time"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "standard_share_maps"
},
{
"type": "string",
"optional": true,
"default": "0",
"field": "standard_settle_sn"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "standard_subsidy_list"
},
{
"type": "int64",
"optional": true,
"field": "standard_share_total"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.Timestamp",
"version": 1,
"field": "standard_update_time"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "refund"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "punish"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_union_subsidy_rate"
},
{
"type": "int64",
"optional": true,
"default": 0,
"field": "standard_union_subsidy_fee"
},
{
"type": "int64",
"optional": true,
"default": 0,
"field": "standard_union_tech_fee"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_union_tech_rate"
},
{
"type": "int64",
"optional": true,
"field": "standard_union_commission_fee"
},
{
"type": "int32",
"optional": true,
"field": "standard_union_commission_rate"
},
{
"type": "int64",
"optional": true,
"field": "standard_union_tech_cost"
},
{
"type": "array",
"items": {
"type": "int64",
"optional": true
},
"optional": true,
"field": "standard_agents"
}
],
"optional": true,
"name": "dev.public.fbi_order_taobao.Value",
"field": "before"
},
{
"type": "struct",
"fields": [
{
"type": "string",
"optional": true,
"field": "trade_parent_id"
},
{
"type": "string",
"optional": true,
"field": "trade_id"
},
{
"type": "string",
"optional": true,
"field": "item_id"
},
{
"type": "string",
"optional": true,
"field": "goods_sign"
},
{
"type": "int64",
"optional": true,
"field": "user_id"
},
{
"type": "int16",
"optional": true,
"field": "tk_status"
},
{
"type": "string",
"optional": true,
"field": "pay_price"
},
{
"type": "string",
"optional": true,
"field": "pub_share_fee"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_earning_time"
},
{
"type": "string",
"optional": true,
"field": "pub_share_rate"
},
{
"type": "int16",
"optional": true,
"field": "refund_tag"
},
{
"type": "string",
"optional": true,
"field": "subsidy_rate"
},
{
"type": "string",
"optional": true,
"field": "tk_total_rate"
},
{
"type": "string",
"optional": true,
"field": "alimama_rate"
},
{
"type": "string",
"optional": true,
"field": "subsidy_type"
},
{
"type": "string",
"optional": true,
"field": "pub_share_pre_fee"
},
{
"type": "string",
"optional": true,
"field": "alipay_total_price"
},
{
"type": "int16",
"optional": true,
"field": "item_num"
},
{
"type": "string",
"optional": true,
"field": "subsidy_fee"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "2",
"connect.decimal.precision": "10"
},
"field": "alimama_share_fee"
},
{
"type": "string",
"optional": true,
"field": "total_commission_rate"
},
{
"type": "string",
"optional": true,
"field": "income_rate"
},
{
"type": "string",
"optional": true,
"field": "total_commission_fee"
},
{
"type": "int64",
"optional": true,
"field": "relation_id"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_deposit_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tb_deposit_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "modified_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tb_paid_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_paid_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "tk_create_time"
},
{
"type": "string",
"optional": true,
"field": "flow_source"
},
{
"type": "string",
"optional": true,
"field": "item_price"
},
{
"type": "string",
"optional": true,
"field": "deposit_price"
},
{
"type": "string",
"optional": true,
"field": "subsidy_info_dto_list"
},
{
"type": "string",
"optional": true,
"field": "alimm_share_info_dto"
},
{
"type": "string",
"optional": true,
"field": "platform_special_share_info_dto"
},
{
"type": "string",
"optional": true,
"field": "comment"
},
{
"type": "int16",
"optional": true,
"field": "tk_order_role"
},
{
"type": "int64",
"optional": true,
"field": "adzone_id"
},
{
"type": "string",
"optional": true,
"field": "item_category_name"
},
{
"type": "string",
"optional": true,
"field": "seller_nick"
},
{
"type": "int64",
"optional": true,
"field": "pub_id"
},
{
"type": "string",
"optional": true,
"field": "item_img"
},
{
"type": "string",
"optional": true,
"field": "item_title"
},
{
"type": "string",
"optional": true,
"field": "site_name"
},
{
"type": "string",
"optional": true,
"field": "order_type"
},
{
"type": "string",
"optional": true,
"field": "terminal_type"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "click_time"
},
{
"type": "string",
"optional": true,
"field": "adzone_name"
},
{
"type": "string",
"optional": true,
"field": "item_link"
},
{
"type": "int64",
"optional": true,
"field": "site_id"
},
{
"type": "string",
"optional": true,
"field": "seller_shop_title"
},
{
"type": "int64",
"optional": true,
"field": "special_id"
},
{
"type": "string",
"optional": true,
"field": "app_key"
},
{
"type": "string",
"optional": true,
"field": "tp_order_id"
},
{
"type": "string",
"optional": true,
"field": "marketing_type"
},
{
"type": "string",
"optional": true,
"field": "extra_mkt_id"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "15"
},
"field": "pub_share_pre_fee_for_commission"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "15"
},
"field": "pub_share_fee_for_commission"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_rate_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "tk_total_rate_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_pre_fee_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "pub_share_fee_for_sdy"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "platform_special_service_rate"
},
{
"type": "bytes",
"optional": true,
"name": "org.apache.kafka.connect.data.Decimal",
"version": 1,
"parameters": {
"scale": "4",
"connect.decimal.precision": "10"
},
"field": "platform_special_service_fee"
},
{
"type": "string",
"optional": true,
"field": "goods_id"
},
{
"type": "int64",
"optional": true,
"field": "standard_price"
},
{
"type": "int64",
"optional": true,
"field": "standard_share"
},
{
"type": "int32",
"optional": true,
"field": "standard_tech_rate"
},
{
"type": "int32",
"optional": true,
"field": "standard_tech_fee"
},
{
"type": "int64",
"optional": true,
"field": "standard_commission"
},
{
"type": "int64",
"optional": true,
"field": "standard_subsidy"
},
{
"type": "int64",
"optional": true,
"field": "standard_share_base"
},
{
"type": "int16",
"optional": true,
"field": "standard_status"
},
{
"type": "int16",
"optional": true,
"field": "standard_kind"
},
{
"type": "int64",
"optional": false,
"default": 0,
"field": "id"
},
{
"type": "array",
"items": {
"type": "int16",
"optional": true
},
"optional": true,
"field": "standard_tags"
},
{
"type": "int64",
"optional": true,
"field": "standard_profit"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_period"
},
{
"type": "string",
"optional": true,
"field": "standard_sn"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_create_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_earning_time"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.MicroTimestamp",
"version": 1,
"field": "standard_settle_time"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "standard_share_maps"
},
{
"type": "string",
"optional": true,
"default": "0",
"field": "standard_settle_sn"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "standard_subsidy_list"
},
{
"type": "int64",
"optional": true,
"field": "standard_share_total"
},
{
"type": "int64",
"optional": true,
"name": "io.debezium.time.Timestamp",
"version": 1,
"field": "standard_update_time"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "refund"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
"version": 1,
"field": "punish"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_union_subsidy_rate"
},
{
"type": "int64",
"optional": true,
"default": 0,
"field": "standard_union_subsidy_fee"
},
{
"type": "int64",
"optional": true,
"default": 0,
"field": "standard_union_tech_fee"
},
{
"type": "int32",
"optional": true,
"default": 0,
"field": "standard_union_tech_rate"
},
{
"type": "int64",
"optional": true,
"field": "standard_union_commission_fee"
},
{
"type": "int32",
"optional": true,
"field": "standard_union_commission_rate"
},
{
"type": "int64",
"optional": true,
"field": "standard_union_tech_cost"
},
{
"type": "array",
"items": {
"type": "int64",
"optional": true
},
"optional": true,
"field": "standard_agents"
}
],
"optional": true,
"name": "dev.public.fbi_order_taobao.Value",
"field": "after"
},
{
"type": "struct",
"fields": [
{
"type": "string",
"optional": false,
"field": "version"
},
{
"type": "string",
"optional": false,
"field": "connector"
},
{
"type": "string",
"optional": false,
"field": "name"
},
{
"type": "int64",
"optional": false,
"field": "ts_ms"
},
{
"type": "string",
"optional": true,
"name": "io.debezium.data.Enum",
"version": 1,
"parameters": {
"allowed": "true,last,false,incremental"
},
"default": "false",
"field": "snapshot"
},
{
"type": "string",
"optional": false,
"field": "db"
},
{
"type": "string",
"optional": true,
"field": "sequence"
},
{
"type": "int64",
"optional": true,
"field": "ts_us"
},
{
"type": "int64",
"optional": true,
"field": "ts_ns"
},
{
"type": "string",
"optional": false,
"field": "schema"
},
{
"type": "string",
"optional": false,
"field": "table"
},
{
"type": "int64",
"optional": true,
"field": "txId"
},
{
"type": "int64",
"optional": true,
"field": "lsn"
},
{
"type": "int64",
"optional": true,
"field": "xmin"
}
],
"optional": false,
"name": "io.debezium.connector.postgresql.Source",
"field": "source"
},
{
"type": "struct",
"fields": [
{
"type": "string",
"optional": false,
"field": "id"
},
{
"type": "int64",
"optional": false,
"field": "total_order"
},
{
"type": "int64",
"optional": false,
"field": "data_collection_order"
}
],
"optional": true,
"name": "event.block",
"version": 1,
"field": "transaction"
},
{
"type": "string",
"optional": false,
"field": "op"
},
{
"type": "int64",
"optional": true,
"field": "ts_ms"
},
{
"type": "int64",
"optional": true,
"field": "ts_us"
},
{
"type": "int64",
"optional": true,
"field": "ts_ns"
}
],
"optional": false,
"name": "dev.public.fbi_order_taobao.Envelope",
"version": 2
}
i use the debezium to cdc the postgresql but found the error :
avro: unknown type: struct
struct is a not an Avro schema type. I dont know what it is.