IgniteQueue获取 - SparkException:任务不可序列化

时间:2017-07-31 04:39:31

标签: apache-spark ignite

当我们在Spark地图中使用IgniteQueue时,如下所示

sparkDataFrame.map(row => {
  igniteQueue.put(row)
})

我们得到SparkException:Task不可序列化的异常。这是因为IgniteQueue不是Serializable。

有没有办法让IgniteQueue可序列化?

提前致谢!!!

2 个答案:

答案 0 :(得分:1)

您不需要序列化IgniteQueue,您需要将其置于spark任务中,直接来自点燃实例,例如:

JavaIgniteContext<Integer, Integer> igniteContext = new JavaIgniteContext<Integer, Integer>(
                sparkContext,"examples/config/spark/example-shared-rdd.xml", false);
Ignite ignite = igniteContext.ignite();
IgniteQueue queue = ignite.queue(name, cap, null);

此外,您可以获取有关Ignite with spark here

的集成信息

答案 1 :(得分:0)

您的类是否可以序列化?如果没有,那么使该类可序列化并检查。您用于点燃火花的依赖性和版本是什么?