2017-06-19 78 views
0

我在異常中運行,試圖序列化Spark中的KieBase對象。Spark&Drools - 如何用Kryo序列化KieBase

當我執行以下代碼:

val kieBase = kieContainer.getKieBase 
val broadcastKieBase = spark.sparkContext.broadcast(kieBase) 

ConcurrentModificationException升高在螺紋

異常 「主」 com.esotericsoftware.kryo.KryoException: java.util.ConcurrentModificationException

環顧四周,我發現this is a known problem,但仍然沒有解決方案。

任何人都知道如何使用Kryo序列化一個KieBase實例?

回答

0

KieBase不能被序列化。相反,創建一個單例類並將KieBase嵌入執行器中。每個執行者都有自己的實例。

+0

KieBase可以使用'JavaSerializer'成功序列化。例如'kryo.register(KieBase.class,新的JavaSerializer());'問題是如何僅用Kryo來完成。 – freedev