【详述】flink sql 通过 connect 导入starrocks,如果设置为exactly-once导入异常,flink程序没有报错,但是在starrocks中查询不到数据,而at-least-once可以导入
【导入/导出方式】flink-connect
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】例如:1.19.1
exactly-once 依赖于flink的checkpoint机制,每次flink在做cp时会保存一批数据及其label,并在cp完成后的下一次数据写入之前阻塞flush在cp时保存的batch数据。因此flush周期等于cp周期,并且sink.buffer-flush.*阈值设置均失效。
关键是我cp执行成功 也没有数据写入啊
发flink日志看下吧
checkpoint周期在日志中看是execution.checkpointing.interval, 60000,但是这个日志只有几秒钟?
不管执行了几个ck,但taskmanager里面没有往下执行的日志了
将flink的checkpoint周期设短一些看看日志。
然后需要注意数据并不是在cp时flush,而是cp之后再有新的数据写入时才会触发flush。
之前的版本如果在后续的cp周期中没有新的数据写入的话,之前cp保存的数据就会一直等到close时才会flush。
可以试下 1.1.12 版本,这个版本优化了上述情况下最迟flush为2个cp周期。
1赞
解决了么,遇到了同样的问题