0
我在獨立集羣中使用Drools with Spark。我想在啓動時的所有工作節點上加載知識會話,即在地圖縮小任務之前。我試過從驅動程序傳遞Statefull會話到從節點,但它不工作。由於這個原因,我的第一份工作大約需要900毫秒才能將規則添加到知識生成器中。Spark集羣中Worker節點上對象的早期初始化
我在獨立集羣中使用Drools with Spark。我想在啓動時的所有工作節點上加載知識會話,即在地圖縮小任務之前。我試過從驅動程序傳遞Statefull會話到從節點,但它不工作。由於這個原因,我的第一份工作大約需要900毫秒才能將規則添加到知識生成器中。Spark集羣中Worker節點上對象的早期初始化
創建駕駛員KnowledgeSession的最後一個變量
final StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
而且可以傳遞ksession
對象所有工作節點,
lines.foreachRDD(new Function<JavaRDD<String>, Void>() {
public Void call(JavaRDD<String> rdd) throws Exception {
List<String> facts = rdd.collect();
//Apply rules on facts here
ksession.execute(facts);
return null;
}
});
歡迎SO。請閱讀如何創建[mcve]。 – zero323