在 2024-06-26 15:07:45,"15868861416" <15868861...@163.com> 写道:
>你好,可以把ID和PRICE的类型改为NUMBER试一下,我这边flink-sql试过number类型对应到iceberg的decimal数据是正常的
>
>
>| |
>博星
>|
>|
>15868861...@163.com
>|
>
>
>---- 回复的原邮件 ----
>| 发件人 | Yanquan Lv<decq12y...@gmail.com> |
>| 发送日期 | 2024年06月26日 14:46 |
>| 收件人 | <user-zh@flink.apache.org> |
>| 主题 | Re: 回复:cdc读取oracle数据如何解析 |
>你好,你的 ID 和 PRINCE 字段类型是 decimal 吗,decimal 默认的展示方式是使用 BASE64 处理
>
>可以通过添加下面代码来让展示信息更直观。
>
>Map<String, Object> customConverterConfigs = new HashMap<>();
>customConverterConfigs.put(JsonConverterConfig.DECIMAL_FORMAT_CONFIG,
>"numeric");
>JsonDebeziumDeserializationSchema schema = new
>JsonDebeziumDeserializationSchema(includeSchema,
>customConverterConfigs);
>
>
>
>
>ha.fen...@aisino.com <ha.fen...@aisino.com> 于2024年6月25日周二 17:26写道:
>
>数据没问题
>"ID" "NAME"   "ADDTIME"            "PRICE"
>1 "aa"     2024-6-25 14:21:33      12.22
>
>发件人: 15868861416
>发送时间: 2024-06-25 17:19
>收件人: user-zh@flink.apache.org
>主题: 回复:cdc读取oracle数据如何解析
>检查一下oracle中的DEBEZIUM.PRODUCTS这个表的数据,看你解析中有字符串
>
>
>
>
>| |
>博星
>|
>|
>15868861...@163.com
>|
>
>
>---- 回复的原邮件 ----
>| 发件人 | ha.fen...@aisino.com<ha.fen...@aisino.com> |
>| 发送日期 | 2024年06月25日 15:54 |
>| 收件人 | user-zh<user-zh@flink.apache.org> |
>| 主题 | cdc读取oracle数据如何解析 |
>根据文档的代码
>JdbcIncrementalSource<String> oracleChangeEventSource =
>new OracleSourceBuilder()
>.hostname("host")
>.port(1521)
>.databaseList("ORCLCDB")
>.schemaList("DEBEZIUM")
>.tableList("DEBEZIUM.PRODUCTS")
>.username("username")
>.password("password")
>.deserializer(new JsonDebeziumDeserializationSchema())
>.includeSchemaChanges(true) // output the schema changes as well
>.startupOptions(StartupOptions.initial())
>.debeziumProperties(debeziumProperties)
>.splitSize(2)
>.build();
>返回的结果:
>
>{"before":null,"after":{"ID":{"scale":0,"value":"AQ=="},"NAME":"aa","ADDTIME":1719325293000,"PRICE":"BMY="},"source":{"version":"1.9.8.Final","connector":"oracle","name":"oracle_logminer","ts_ms":0,"snapshot":"false","db":"ORCL","sequence":null,"schema":"CDC","table":"ORDER_CDC","txId":null,"scn":"0","commit_scn":null,"lcr_position":null,"rs_id":null,"ssn":0,"redo_thread":null},"op":"r","ts_ms":1719301769186,"transaction":null}
>
>如何解析?PRICE应该是数字,ID也是数字,这里显示的都不同
>

回复