Apache spark 火花执行器需要驱动程序内存

Apache spark 火花执行器需要驱动程序内存,apache-spark,memory,driver,Apache Spark,Memory,Driver,我有两个火花应用程序。首先读取csv文件,然后将其转换为拼花地板(简单的读-过滤-写)。第二个读取拼花地板文件,计算统计数据,然后将结果写入csv文件。我必须分配更多的驱动程序内存使它们运行,否则它会崩溃为内存不足错误 我注意到,当我将执行器和内核减少到1和1时,我不必提供更多的驱动程序内存。这看起来像是管理多个执行器(在我的例子中,我有10个5核的执行器)需要驱动程序内存。如果我设置了10个1芯的执行器,或者1个5芯的执行器,这将在拼花地板读取过程中崩溃 正确的解释是什么?您是否在驱动程序上执

我有两个火花应用程序。首先读取csv文件,然后将其转换为拼花地板(简单的读-过滤-写)。第二个读取拼花地板文件,计算统计数据,然后将结果写入csv文件。我必须分配更多的驱动程序内存使它们运行,否则它会崩溃为内存不足错误

我注意到,当我将执行器和内核减少到1和1时,我不必提供更多的驱动程序内存。这看起来像是管理多个执行器(在我的例子中,我有10个5核的执行器)需要驱动程序内存。如果我设置了10个1芯的执行器,或者1个5芯的执行器,这将在拼花地板读取过程中崩溃


正确的解释是什么?

您是否在驱动程序上执行任何收集操作?不,在这两个应用程序中,我只操作数据帧并将结果写入hdfs文件。仔细想想,驱动程序似乎保留了过去执行者或执行者的某些信息。一旦执行人完成了大量工作,它就会崩溃。有这样的配置吗?你能检查一下Spark UI并找出哪个阶段失败了吗?这会让你对你的工作有一些了解,反过来你可能会问我们一个更具体的问题,这可能会在拼花地板工作中失败,这就是spark.read.parquet(sourcePath)。where(col(“mytime”)>=startMillis&&col(“mytime”)