Flink是纯流式计算引擎,是一个常驻进程,上游数据一般是源源不断的,如果通过CDC方式消费MySQL数据,查看数据是否处理完,可以通过
在下游无节点 backpresure 上游的前提下,数据曲线numRecordsIn numRecordsInPerSecond numRecordsOut numRecordsOutPerSecond 查看 ,如果数据曲线总数量没变化, 每秒输入输出记录数趋于0,说明数据已经处理完
可以在目标端去查询数据,如果最新更新的数据在目标端也已经更新,那么数据处理完。
currentEmitEventTimeLag指标记录的是 Source发送一条记录到下游节点的时间点和该记录在数据库中生成时间点的差值,用于衡量数据从数据库中产生到离开Source节点的延迟。
currentFetchEventTimeLag和currentEmitEventTimeLag 均反映了Flink当前处理的延迟,如果业务延迟比较严重,您可以通过两个指标的差值(即数据在 Source中停留的时间)分析Source当前的处理能力。
如果两个延迟非常接近,说明Source从外部系统中拉取数据的能力(网络 I/O、并发数)不足。
如果两个延迟差值较大,说明Source的数据处理能力(数据解析、并发、反压)不足。