【问题标题】:Who loads partitions into RAM in Spache Spark?谁在 Apache Spark 中将分区加载到 RAM 中?
【发布时间】:2016-07-20 20:57:11
【问题描述】:

我有这个问题,我无法在任何地方找到答案。

我正在使用以下行在 PySpark 应用程序中加载数据:

loadFile = self.tableName+".csv"
dfInput= self.sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load(loadFile) 

我的集群配置如下:

  • 我正在使用具有 3 个节点的 Spark 集群:1 个节点用于启动主节点,其他 2 个节点各运行 1 个工作节点。
  • 我使用脚本从集群外部的登录节点上提交应用程序。
  • 脚本以集群部署模式提交 Spark 应用程序,我认为,然后在这种情况下,使驱动程序在我正在使用的 3 个节点中的任何一个上运行。
  • 输入的 CSV 文件存储在全局可见的临时文件系统 (Lustre) 中。

在 Apache Spark Standalone 中,将分区加载到 RAM 的过程是怎样的?

  1. 是不是每个执行程序都访问驱动程序的节点 RAM 并从那里将分区加载到自己的 RAM 中? (存储 --> 驱动程序的内存 --> 执行程序的内存)
  2. 是否每个执行程序都访问存储并加载到自己的 RAM 中? (存储 --> 执行者的 RAM)

这些都不是,我在这里遗漏了一些东西吗?我如何自己见证这个过程(监控工具、unix 命令、Spark 中的某处)?

任何我可以深入了解的评论或资源都会非常有帮助。提前致谢。

【问题讨论】:

    标签: apache-spark apache-spark-standalone


    【解决方案1】:

    第二种情况是正确的:

    每个执行程序都访问存储并加载到自己的 RAM 中? (存储 --> 执行者的 RAM)

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2018-03-16
      • 2018-03-22
      • 2016-07-15
      • 1970-01-01
      • 2016-08-01
      相关资源
      最近更新 更多