发现个问题, 就是paimon设置了字段user_name的默认值以后。
写入数据时如果不写入这个user_name字段,然后用flink进行查询,字段user_name有默认值数据,但是用doris查询,字段没有数据。
版本:doris3.0.3,paimon 0.9。
图中上面是通过navicat查询doris,指定paimon的catalog查询结果,可以看到user_name的数据都是null。
图中下面是通过flinksql查询,指定paimon的catalog查询结果,可以看到user_name的数据都是默认值"wfwfwf"。
复现的sql如下:
CREATE TABLE if not exists paimon_catalog.tmp.wf250427 (
order_id bigint ,
order_time TIMESTAMP ,
user_name string ,
user_id bigint null,
address varchar(300),
amt DECIMAL(20, 4),
PRIMARY KEY ( order_id) NOT ENFORCED
) COMMENT 'aaa'
WITH
(
'merge-engine' = 'deduplicate',
'changelog-producer' = 'lookup',
'fields.user_name.default-value'='wfwfwf',
'fields.user_id.default-value'='0'
);
insert into tmp.wf250427(order_id) values (33),(444);