Apache Spark 分布式规则引擎

fykwrbwg  于 2022-11-16  发布在  Apache
关注(0)|答案(5)|浏览(418)

我们已经使用Drools引擎几年了,但是我们的数据不断增长,我们需要找到一个新的分布式解决方案来处理大量的数据。我们有复杂的规则来查看几天的数据,这就是为什么Drools非常适合我们,因为我们只是在内存中保存数据。
对于类似于Drools但分布式/可伸缩的东西,你有什么建议吗?
我确实对这件事进行了调查,但我找不到任何符合我们要求的东西。

  • 谢谢-谢谢
b5lpy0ml

b5lpy0ml1#

Spark提供了比传统单节点应用程序更快的Drools规则数据应用程序。Drools - Spark集成的参考体系结构可沿着以下路线。此外,HACEP是Drools复杂事件处理的可伸缩和高可用性体系结构。HACEP结合了Infinispan、Camel和ActiveMQ。有关使用Drools的HACEP,请参阅following article

您可以在下面的GitHub repository中找到Drools-Spark集成的参考实现。

dsf9zpds

dsf9zpds2#

首先,我可以看到,对于大量的数据,我们也可以有效地应用Drools出我的经验与它(可能是一些调整是需要根据您的要求)。并很容易与Apache Spark集成。加载您的规则文件在内存中的Spark处理将占用分钟内存...和Drools可以与Spark流以及Spark批处理作业以及...
请参阅my complete article以供参考并尝试。
替代方案可能是....
JESS实施Rete引擎并接受多种格式的规则,包括CLIPS和XML。
Jess使用Rete算法的增强版本来处理规则,Rete是解决困难的多对多匹配问题的一种非常有效的机制
Jess有许多独特的特性,包括反向链接和工作内存查询,当然,Jess可以直接操作和推理Java对象。Jess还是一个强大的Java脚本环境,您可以在其中创建Java对象、调用Java方法和实现Java接口,而无需编译任何Java代码。
你自己试试看。

nkoocmlb

nkoocmlb3#

也许这对你有帮助。这是作为Drools生态系统的一部分开发的一个新项目。https://github.com/kiegroup/openshift-drools-hacep

4xrmg8kj

4xrmg8kj4#

看起来Databricks也在规则引擎上工作。所以如果你使用的是Databricks版本的Spark,一些需要研究的东西。
https://github.com/databrickslabs/dataframe-rules-engine

8ljdwjyq

8ljdwjyq5#

看一看https://www.elastic.co/blog/percolator
你可以做的就是把你的规则转换成一个ElasticSearch查询。

相关问题