为什么在Spark

时间:2015-08-17 08:18:08

标签: apache-spark

当我阅读spark核心源时,我感到困惑为什么actor系统会因为spark 1.4.0而被弃用,在akka中使用actorSystem时有问题吗?那么DAGEventProcessActor和DriverActor呢?

1 个答案:

答案 0 :(得分:0)

我认为原因更多地与从外部客户端(例如与Spark核心没有直接关系的任何东西)正确封装内部Akka资源有关。我相信这是因为Spark开发人员不希望Spark与Akka紧密结合,其原因是AFAIK:

  1. 在未来的版本中可能会决定删除Akka作为内部沟通的主要引擎
  2. Spark比Akka有更严格的版本指导。引用此Jira ticket
  3.   

    我们不想在公共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