使用Akka actor调用消息或将消息传递给Python代码

Sou*_*nta 6 python scala actor akka pykka

我有一些用Python编写的分析代码。目前,我正在使用Storm处理流。因为Storm允许使用消息序列化调用python代码,所以我在Storm螺栓中从Java / Scala调用了Python代码。

我发现Pykka是actor模型的Python实现。我想知道是否有一种方法可以从Akka演员那里调用Python代码?例如,是否可以将消息从Akka演员传递到Pykka演员?

Ami*_*ico 4

我怀疑两个远程参与者模型实现的有线协议是否可以轻松桥接,但您可以在 Scala 代码和 Python 应用程序之间使用0MQ 。Akka 允许通过 0MQ 传递消息,因此在进行一些设置后,Scala 代码可以像任何其他参与者一样处理 Python 应用程序,尽管我不确定这在 Python 方面意味着什么。

另一种值得考虑的可能性是使用Jython在 JVM 上运行 Python 分析代码。您可以让 Scala actor 调用 Jython 函数/方法。但如果您的 Python 代码使用 C 扩展模块,您就必须找到替代方案。

另一种可能性(也假设您没有使用 C 扩展模块)是尝试转换器py2scala;对于数据分析代码来说,它可能会做得不错。想必这将为您提供最高效的解决方案。