可能由于代码错误或缺乏验证而导致进入Flink作业的数据触发异常。
我的目标是提供一致的异常处理方式,我们的团队可以在Flink作业中使用该方式,从而不会导致生产中断。
样例代码:
env.addSource(kafkaConsumer)
.keyBy(keySelector) // must return one result for one entry
.flatMap(mapFunction) // we can skip some entries here in case of errors
.addSink(new PrintSinkFunction<>());
env.execute("Flink Application");
我希望能够跳过处理导致“keyBy”出现问题的事件以及应该返回确切结果的类似方法。
最佳答案
您是否可以为keyBy
保留一个特殊的值,例如“NULL”,以便在这种情况下返回?那么当遇到这样的值时,您的flatMap
函数可以跳过吗?
关于error-handling - Apache Flink- “keyBy”中的异常处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55468894/