starRocks 的flink sink 是否支持自行处理数据写入表异常。
请问具体遇到的是什么问题呢,可以详细描述下您的操作步骤及写入异常信息,并上传相关日志来进一步分析呢
就是flink sql 任务中,数据中出现脏数据,比如数据中有\t 分隔符,导致最后starRocks 数据写入表失败,进而Flink sql 任务失败而进入无限重启。StarRocks sink 是否可以暴露出一个异常处理handler接口。这样在DateStream 中我们能自行处理该类异常,而不是说会让Flink 任务失败。
flink没有配置重启策略吗?
我提个优化建议,感谢反馈
你们希望在handler里做哪些操作?
写入表失败的具体异常可以发下吗?
这种情况是不是在sink前加一个operator对脏数据进行预处理会简单一点?sink是通过stream load批量写入starrocks,一批数据里有一条脏数据,整批数据都无法写入,如果想通过自定义handler记录脏数据需要考虑一些问题:怎么判断异常是脏数据引起的(异常原因可能有很多)、脏数据是哪条、非脏数据如何处理(重试导入?)、脏数据记录在哪(flink日志或外部系统)等等。
相对于自定义handler,预处理的方式只需要识别脏数据并实时修正,在handler的方法中“后续手动处理”是不是也要做这件事?
确实是的,具体的每一条数据确实很难定位。这样成本也比较高。感谢回复。
你不捕获到写入异常了吗?