Apache spark 可以在已经运行的java进程(Ignite JVM)中生成Spark执行器吗

Apache spark 可以在已经运行的java进程(Ignite JVM)中生成Spark执行器吗,apache-spark,ignite,Apache Spark,Ignite,我正在从事一个项目,我需要在不同的spark应用程序中共享执行状态 我决定使用ApacheIgnite作为不同spark应用程序之间的共享内存存储 我正在考虑在spark中使用带有静态分配的嵌入式点火模式 点火节点将在Spark executor进程中启动。因此,任务将在存在数据的同一进程中执行。但是,此模式已被弃用 我可以使用独立的Ignite部署,但是会有进程间通信来获取和保存我想要避免的状态 有没有办法告诉Spark在已经存在的进程中创建其执行器(在本例中,点燃节点进程)? 是否可以通过实

我正在从事一个项目,我需要在不同的spark应用程序中共享执行状态

我决定使用ApacheIgnite作为不同spark应用程序之间的共享内存存储

我正在考虑在spark中使用带有静态分配的嵌入式点火模式 点火节点将在Spark executor进程中启动。因此,任务将在存在数据的同一进程中执行。但是,此模式已被弃用

我可以使用独立的Ignite部署,但是会有进程间通信来获取和保存我想要避免的状态

有没有办法告诉Spark在已经存在的进程中创建其执行器(在本例中,点燃节点进程)?

是否可以通过实施ExternalClusterManager来实现这一点


Ignite是否计划在将来引入这种模式?

嗯,是的,您的总体方向是合理的。Ignite不推荐的嵌入式部署,也就是说,是“向后”嵌入的——当您将Ignite嵌入Spark时,它工作得很差,但如果我们将Spark嵌入Ignite,它会工作得更好

是的,我想这是可能实现的。它甚至可能在Ignite之外实现

我不认为Ignite backlog中有任何未解决的问题,但您可以分享您的建议

现在是主要部分。您的建议所要实现的就是用进程内通信取代进程间通信。通常,在同一台主机上进行通信并不昂贵。您可能会从中看到一些性能提升,但我只是在有确凿证据表明这将解决一个实际问题的情况下才开始实施它