Apache Nifi - 联合搜索

Apache Nifi - Federated Search

我的团队被扔进了深渊,并被要求在各种大型数据集上建立对客户的联合搜索,这些数据集包含关于每个人的不同程度的不同数据(并且没有匹配的标识符),我想知道如何着手实施它。

我认为 Apache Nifi 非常适合查询我们的各种数据库,合并结果,通过外部工具对条目进行重复数据删除,然后将此结果推送到数据库中,然后在 Elasticsearch 实例中查询该数据库以供使用供应用使用。

所以粗略地说是这样的:-

例如,以下数据存在于第一个流程的结果数据库中:-

然后 运行ning https://github.com/dedupeio/dedupe 在这个数据库上 table 这将添加集群 ID 以帮助记录 linkage,例如:-

然后,第二个流程将查询结果数据库并将此结果提供给 Elasticsearch 实例以供应用程序使用 API 以查询哪些应用程序将使用集群 ID link 重复项。

几个问题:-

我在这里也没有考虑任何 CDC 流程,因为数据库将不断更新,我需要处理,所以如果有人解决了类似的问题或使用不同的方法(很高兴考虑其他技术也是如此)。

谢谢!

用于去重...

您可能需要编写自定义处理器,或使用 ExecuteScript。因为它看起来像一个 Python 库,所以我猜是为 ExecuteScript 编写脚本,除非有一个 Java 库。

用于触发第二个流程...

您是否需要中间数据库 table 来做其他事情?

如果确实需要,那么可以将PutDatabaseRecord的成功关系作为输入发送给后续的ExecuteSQL。

如果你不需要它,那么你可以去MergeContent -> Dedupe -> ElasticSearch。