首页 > 解决方案 > avro 中的字节格式

问题描述

在使用 confluent 5.0.0 将 Oracle 表加载到 Kafka 时,如何停止将数字转换为字节格式?在重用代理中的数据时,转换为字节会产生很多问题。有没有办法直接在vertica db中将字节格式转换为十进制?

更多详细信息:每次我从 oracle 向 Kafa 发送表格时,数字类型都会转换为字节,日期会转换为长整数。当我使用 KafkaSource 和 KafkaAvroParser 将数据加载到 vertica 时,数据不会被解码回来。

有没有办法可以在融合 5.0.0 的模式注册表中编辑模式格式

细节:

curl -X GET  http://localhost:8081/subjects/test-oracle-jdbc-EMP1-value/versions/1

{"subject":"test-oracle-jdbc-EMP1-value","version":1,"id":2,"schema":"{\"type\":\"record\",\"name \":\"EMP1\",\"字段\":[{\"name\":\"EMPNO\",\"type\":{\"type\":\"bytes\",\" scale\":0,\"precision\":64,\"connect.version\":1,\"connect.parameters\":{\"scale\":\"0\"},\"connect. name\":\"org.apache.kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}},{\"name\":\"ENAME\",\"type \":[\"null\",\"string\"],\"default\":null},{\"name\":\"JOB\",\"type\":[\"null\ ",\"字符串\"],\"默认\":null},{\"name\":\"MGR\",\"type\":[\"null\",{\"type\":\"bytes\",\"scale\":0, \"precision\":64,\"connect.version\":1,\"connect.parameters\":{\"scale\":\"0\"},\"connect.name\":\" org.apache.kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}],\"default\":null},{\"name\":\"HIREDATE\", \"type\":[\"null\",{\"type\":\"long\",\"connect.version\":1,\"connect.name\":\"org.apache. kafka.connect.data.Timestamp\",\"logicalType\":\"timestamp-millis\"}],\"default\":null},{\"name\":\"SAL\",\"类型\":[\"null\",{\"类型\":\"bytes\",\"scale\":2,\"precision\":64,\"connect.version\":1,\"connect.parameters\":{\"scale\":\"2\" },\"connect.name\":\"org.apache.kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}],\"default\":null},{ \"name\":\"COMM\",\"type\":[\"null\",{\"type\":\"bytes\",\"scale\":2,\"precision\ ":64,\"connect.version\":1,\"connect.parameters\":{\"scale\":\"2\"},\"connect.name\":\"org.apache. kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}],\"default\":null},{\"name\":\"DEPTNO\",\"type\ ":[\"null\",{\"类型\":\"bytes\",\"scale\":0,\"precision\":64,\"connect.version\":1,\"connect.parameters\":{\"scale\":\"0\" },\"connect.name\":\"org.apache.kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}],\"default\":null}], \"connect.name\":\"EMP1\"}"}

标签: oracle11gapache-kafkaavroconfluent-platformconfluent-schema-registry

解决方案


假设您使用的是 JDBC 源连接器,您可以设置

"numeric.mapping":"best_fit"

在您的连接器配置中。

有关更多详细信息,请参阅文档此博客


推荐阅读