【问题标题】:Spark: should slaves have source code if already passed with ` --py-files` option?Spark:如果已经通过 `--py-files` 选项传递,slave 是否应该有源代码?
【发布时间】:2019-01-15 02:51:09
【问题描述】:

我有一个运行 pyspark 应用程序的 ec2 集群,我在使用 --py-files 运行 spark-submit 时传递带有压缩 python 文件的源代码。 如果我们已经在传递文件,slave 是否需要应用程序代码?

【问题讨论】:

    标签: python apache-spark amazon-ec2 pyspark


    【解决方案1】:

    不,药膏不需要应用程序代码或 zip 文件。已提交 spark 作业的驱动程序(主)只需要 zip 文件和源代码(包含 main 方法)。客户端提交 Spark 作业时会发生以下情况:

    1. 驱动程序从 Spark 应用程序代码创建物理执行计划。执行计划由多个阶段组成,每个阶段包含多个称为任务的单元。
    2. 集群管理器根据客户端输入分配资源并在工作人员(从属)中启动执行程序。
    3. 通过驱动程序的适当监控,任务被发送到执行器,执行器执行驱动程序分配的任务。
    4. 当 main 方法退出或调用 sparkContext 的stop() 方法时,集群管理器会终止所有执行器并释放所有资源。

    整个执行由驱动程序和集群管理器管理。从属中的执行者依赖于驱动程序来执行任务。因此源代码或 zip 文件不需要复制或传递给从站。
    以下是 spark 工作原理的架构:

    https://spark.apache.org/docs/latest/cluster-overview.html

    https://www.dezyre.com/article/apache-spark-architecture-explained-in-detail/338

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      相关资源
      最近更新 更多