Apache Ignite 实例作为 Spark 广播变量

Apache Ignite instance as Spark Broad cast variable

一旦 Ignite 在 Driver 中被实例化,

Ignite ignite = Ignition.getOrStart(igniteConfiguration);

需要将这个 ignite 实例作为广播变量广播给所有执行者,如果我能做到这一点,请告诉我。我知道 Ignite 不是序列化的,但有什么方法可以使其序列化。

Ignite 实例无法在执行器之间广播,因为它对应于本地节点 运行。对象本身发送给另一个执行者对你没有任何好处。

Apache Ignite 和 Apache Spark 之间有一个特殊的集成:https://apacheignite-fs.readme.io/docs 如果你使用这个集成,那么每个 Spark 执行器都会启动一个 Ignite 节点,你将能够使用它。通常 IgniteRDD 或 Ignite 数据帧用于与来自 Spark 的 Ignite 一起工作。您还可以使用 IgniteContext#ignite() 方法获取 Ignite 实例。

有关详细信息,请参阅文档:https://apacheignite-fs.readme.io/docs/ignitecontext-igniterdd