Closed 812406210 closed 3 years ago
数据就会自动删除带NULL的数据,剩下没有都是没有NULL的数据
可以描述具体点,没理解你的问题。。。可以贴下具体的数据和SQL
数据就会自动删除带NULL的数据,剩下没有都是没有NULL的数据
可以描述具体点,没理解你的问题。。。可以贴下具体的数据和SQL
谢啦,我发送到Kafka看到原因了,写DataStream去处理了,但是不理解的是,flinkcdc 应该是全量拿取的,尽管有-D的操作,但是数据表里面有的数据,为啥也-D干掉了。。。。 代码: ` val createTRefundRequest = s""" |CREATE TABLE t_refund_request ( | id INT, | stu_id INT, | stu_name STRING, | order_no STRING, | schedule_time TIMESTAMP(3), | biz_type STRING , | refund_status STRING, | create_time TIMESTAMP(3), | refund_amount DECIMAL(10,2), | retention_id INT |) WITH ( | 'connector' = 'mysql-cdc', | 'hostname' = 'xxxx', | 'port' = '3306', | 'username' = 'root', | 'password' = 'xxxx', | 'database-name' = 'epay', | 'table-name' = 'xxxx', | 'debezium.snapshot.mode' = '${debeziumSnapshotMode}', | 'debezium.snapshot.locking.mode' = 'none' |) """.stripMargin
val createDragOrder =
s"""
|CREATE TABLE drag_order (
| morder_no STRING,
| mobile STRING,
| business_id INT
|) WITH (
| 'connector' = 'mysql-cdc',
| 'hostname' = 'xxx',
| 'port' = '3306',
| 'username' = 'root',
| 'password' = 'xxxx',
| 'database-name' = 'dragnet',
| 'table-name' = 'xxxx',
| 'debezium.snapshot.mode' = '${debeziumSnapshotMode}',
| 'debezium.snapshot.locking.mode' = 'none'
|)
""".stripMargin`
就是这两个表join。job刚启动完成后,sink数据量和t_refund_request 数据一样多,但是当t_refund_request 有新数据的时候,就有很多-D的数据过来了,然后sink的数据就只有全字段没有null的数据了,存在null的数据就全部-D删了,不知道为啥
你使用的双流join还是维表join, 双流join是会有撤回的。
你使用的双流join还是维表join, 双流join是会有撤回的。
哦哦。。。我这边是双流join,所以我发送kafka,然后用datastream去过滤掉op=-D得操作,不让它撤回,只进行+I,就可以了,数据也是正常得,哈哈 。 请问如果是维表得join,是不会有-D撤回吗?如果双流join,只要有指标表就会有-D撤回操作吗?
你好,请教下,我这边用了两个mysql节点的数据进行join表,发现启动后会拉取数据,但是不全,等数据有更新之后,数据就会自动删除带NULL的数据,剩下没有都是没有NULL的数据了,这个怎么处理?