这是一个简化的场景:
N 个业务流需要来自同一来源的相同原始数据。数据使用 Kafka(普通 Kafka 管道)摄取并登陆 HDFS,在 HDFS 上,每个流程的原始数据都会触发质量检查的自动流程。所有 N 个流可能具有不同的数据质量标准。例如,他们可能要求在将原始数据转换为所需模式时,可以对原始数据应用不同格式的日期和时间。
处理未能满足业务流程质量测试 KPI 的最佳方法是什么?
选项包括:
- 全部失败 - 通知源数据提供者并等待固定数据。然后重新摄取并运行所有 N 组质量检查。
- 创建一个分支 - 意味着 N 个未通过质量检查的业务流中的 K 个将等待其固定数据集,而通过的 NK 将使用当前数据集。
- 标记某些业务流程未通过质量检查的条目,并将其放入特殊队列以手动处理/修复。对错误条目的数量应用一些规则和阈值(仅就需要通过此队列并分析和修复有问题的条目的团队能力的认识而言)
以上哪种方法(如果有)是最明智的?当许多具有不同质量标准的消费者使用相同的数据时,是否有任何模式或最佳实践来处理这种情况?理想情况下,我会避免重复相同的数据,这意味着为每个消费者重新摄取固定数据集(N - 并不是最坏的情况,因为对 N 中的一个进行修复可能会导致其他事先没问题的问题。所以,理论上,这个过程可能是无止境的)。