谁在S​​pache Spark中将分区加载到RAM中?

时间:2016-07-20 20:57:11

标签: apache-spark apache-spark-standalone

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

我使用以下行在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中? (存储 - >驱动程序的RAM - >执行程序的RAM)
  2. 每个执行程序是否访问存储并加载到自己的RAM? (存储 - >执行者的RAM)
  3. 这些都没有,我在这里遗漏了什么?我如何亲自见证这个过程(监控工具,unix命令,Spark中的某个地方)?

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

1 个答案:

答案 0 :(得分:0)

第二种情况是正确的:

  

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