Apache Nifi - 联合搜索
Apache Nifi - Federated Search
我的团队被扔进了深渊,并被要求在各种大型数据集上建立对客户的联合搜索,这些数据集包含关于每个人的不同程度的不同数据(并且没有匹配的标识符),我想知道如何着手实施它。
我认为 Apache Nifi 非常适合查询我们的各种数据库,合并结果,通过外部工具对条目进行重复数据删除,然后将此结果推送到数据库中,然后在 Elasticsearch 实例中查询该数据库以供使用供应用使用。
所以粗略地说是这样的:-
例如,以下数据存在于第一个流程的结果数据库中:-

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

然后,第二个流程将查询结果数据库并将此结果提供给 Elasticsearch 实例以供应用程序使用 API 以查询哪些应用程序将使用集群 ID link 重复项。
几个问题:-
如何在合并的内容推送到数据库时触发重复数据删除 运行?
推论问题 - 第二个流如何知道何时获取结果以推送到 Elasticsearch?定期轮询?
我在这里也没有考虑任何 CDC 流程,因为数据库将不断更新,我需要处理,所以如果有人解决了类似的问题或使用不同的方法(很高兴考虑其他技术也是如此)。
谢谢!
用于去重...
您可能需要编写自定义处理器,或使用 ExecuteScript。因为它看起来像一个 Python 库,所以我猜是为 ExecuteScript 编写脚本,除非有一个 Java 库。
用于触发第二个流程...
您是否需要中间数据库 table 来做其他事情?
如果确实需要,那么可以将PutDatabaseRecord的成功关系作为输入发送给后续的ExecuteSQL。
如果你不需要它,那么你可以去MergeContent -> Dedupe -> ElasticSearch。
我的团队被扔进了深渊,并被要求在各种大型数据集上建立对客户的联合搜索,这些数据集包含关于每个人的不同程度的不同数据(并且没有匹配的标识符),我想知道如何着手实施它。
我认为 Apache Nifi 非常适合查询我们的各种数据库,合并结果,通过外部工具对条目进行重复数据删除,然后将此结果推送到数据库中,然后在 Elasticsearch 实例中查询该数据库以供使用供应用使用。
所以粗略地说是这样的:-
例如,以下数据存在于第一个流程的结果数据库中:-

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

然后,第二个流程将查询结果数据库并将此结果提供给 Elasticsearch 实例以供应用程序使用 API 以查询哪些应用程序将使用集群 ID link 重复项。
几个问题:-
如何在合并的内容推送到数据库时触发重复数据删除 运行?
推论问题 - 第二个流如何知道何时获取结果以推送到 Elasticsearch?定期轮询?
我在这里也没有考虑任何 CDC 流程,因为数据库将不断更新,我需要处理,所以如果有人解决了类似的问题或使用不同的方法(很高兴考虑其他技术也是如此)。
谢谢!
用于去重...
您可能需要编写自定义处理器,或使用 ExecuteScript。因为它看起来像一个 Python 库,所以我猜是为 ExecuteScript 编写脚本,除非有一个 Java 库。
用于触发第二个流程...
您是否需要中间数据库 table 来做其他事情?
如果确实需要,那么可以将PutDatabaseRecord的成功关系作为输入发送给后续的ExecuteSQL。
如果你不需要它,那么你可以去MergeContent -> Dedupe -> ElasticSearch。