gpt4 book ai didi

java - 用于有状态 kiesession 的 Drools Spark Streaming 集成

转载 作者:行者123 更新时间:2023-12-02 07:14:45 25 4
gpt4 key购买 nike

我正在使用 drools 和 Spark Streaming。我想在整个工作过程中在 Spark 流上下文中维护 KieSession。 Spark 中每个工作节点的每个 session 。我知道 kiesession 是插入和查询事实的地方。根据我的理解, session 实际上是构建 rete 网络并将事实插入到 alpha 和 beta 内存中的 session 。所以我的想法是在整个工作中为每个工作名称创建一个 kiesession,以便在 kiesession 中维护状态。但我无法广播 kiesession,因为它没有序列化。是否有其他方法可以为 Spark 流上下文中的每个工作节点仅实现单个有状态 session (KieSession)。

最佳答案

您可以使用org.kie.api.marshalling.Marshaller编码/解码KieSession,这里是org.kie.internal.marshalling.MarshallerFactory的javadoc

>

The MarshallerFactory is used to marshal and unmarshal StatefulKnowledgeSessions. At the simplest it can be used as follows:

// ksession is the StatefulKnowledgeSession
// kbase is the KnowledgeBase
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Marshaller marshaller = MarshallerFactory.newMarshaller( kbase );
marshaller.marshall( baos, ksession );
baos.close();

关于java - 用于有状态 kiesession 的 Drools Spark Streaming 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45951395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com