场景
在很多时候我们的kafka中的数据基本上都是json格式的,但是json数据是无法被我们掌控的,比如很容易出现json格式有问题,甚至是json中的数据不是我们想要的数据,因此此时我们想对这里面的数据做一些额外的校验操作,下面有几条经验。
- 丢弃
这种时候意味着我们不关心错误的数据,此时可以在真正处理数据之前用filter算子过滤掉格式错误的数据。 - 输出到测流
测流输出必须是process算子支持的功能,因此在开始处理数据之前可以将错误数据搞到测流中,然后单独处理错误数据,比如丢弃,或者是写入到新的kafka或者elasticsearch等。
总结
这两个经验至关重要,如果不在map flatmap等后续计算之前处理这些异常数据,会导致后续的代码可读性变差,因为你需要很多异常捕捉,谁写谁知道,简直痛苦至极。