当我阅读spark核心源时,我感到困惑为什么actor系统会因为spark 1.4.0而被弃用,在akka中使用actorSystem时有问题吗?那么DAGEventProcessActor和DriverActor呢?
答案 0 :(得分:0)
我认为原因更多地与从外部客户端(例如与Spark核心没有直接关系的任何东西)正确封装内部Akka资源有关。我相信这是因为Spark开发人员不希望Spark与Akka紧密结合,其原因是AFAIK:
我们不想在公共API中公开Akka类的原因是Spark有比Akka更严格的版本指南:https://cwiki.apache.org/confluence/display/SPARK/Spark+Versioning+Policy
基本上,所有Spark 1.X都是向后兼容的,这意味着我们可能会遇到我们必须维护的旧版Akka,它不会与用户&#39链接;新版本的Akka
在同一个帖子中:
[...]关注不是那么多升级,它将用户锁定到特定的Akka版本。例如,假设我们今天添加一个涉及Akka 2.2类的API,后来2.3或2.4以不兼容的方式更改这些类。然后,为了满足我们对用户的API稳定性承诺,我们将保持我们的Akka版本为2.2,并且用户只是无法在与Spark相同的应用程序中使用新的Akka