2017-06-19 6 views
0

SparkのKieBaseオブジェクトをシリアル化しようとしている例外で実行しています。Spark&Drools - KryoでKieBaseをシリアライズする方法

私は次のコードを実行する: java.util.ConcurrentModificationExceptionが

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

ConcurrentModificationExceptionがスレッド "メイン" com.esotericsoftware.kryo.KryoExceptionで

例外が発生しています

私もthis is a known problemでしたが、解決策はありませんでした。

KieBaseインスタンスをKryoでシリアル化する方法は誰でも知っていますか?

答えて

0

KieBaseはシリアル化できません。代わりに、シングルトンクラスを作成して、エグゼキュータにKieBaseを挿入します。各エグゼキュータは独自のインスタンスを持ちます。

+0

KieBaseは 'JavaSerializer'を使用して正常にシリアル化できます。たとえば、 'kryo.register(KieBase.class、new JavaSerializer());'という質問は、Kryoだけでどうやって行うのかということです。 – freedev

関連する問題