Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark执行器RAM和文件大小_Apache Spark_Apache Spark Sql_Spark Streaming - Fatal编程技术网

Apache spark Spark执行器RAM和文件大小

Apache spark Spark执行器RAM和文件大小,apache-spark,apache-spark-sql,spark-streaming,Apache Spark,Apache Spark Sql,Spark Streaming,我正在用WholeTextFiles方法读取大小为8.2GB的文本文件(所有文件都在一个文件夹中) 读取文件的作业有3个执行器,每个执行器有4个内核和4GB内存,如图所示 虽然作业页面显示了3个执行器,但只有2个执行器在处理数据(我可以从打印读取的文件的stderr日志中理解这一点)。第三执行器没有任何处理文件的痕迹 wholetextfile API中有2个分区 两个执行器各有4GB内存,总计8GB。但是我的文件有8.2GB 有人能解释一下总共有8GB ram的两个执行器是如何拥有8.2GB文

我正在用WholeTextFiles方法读取大小为8.2GB的文本文件(所有文件都在一个文件夹中)

读取文件的作业有3个执行器,每个执行器有4个内核和4GB内存,如图所示

虽然作业页面显示了3个执行器,但只有2个执行器在处理数据(我可以从打印读取的文件的stderr日志中理解这一点)。第三执行器没有任何处理文件的痕迹

wholetextfile API中有2个分区

两个执行器各有4GB内存,总计8GB。但是我的文件有8.2GB

有人能解释一下总共有8GB ram的两个执行器是如何拥有8.2GB文件的吗?

我的工作成功地完成了


在函数WholeTextFiles的spark文档中: 每个文件作为单个记录读取,并以键-值对的形式返回,其中键是每个文件的路径,值是每个文件的内容

因此,RDD记录是一个完整的文件内容,num partitions等于文件的数量。
要拥有多个分区,可以使用函数textFile

每个执行器都有内存开销[占分配内存的10%或最小384 M]

您可以从正在运行的作业中看到实际分配的内存

此外,还有一种称为容器内存[最小和最大限制]分配的方法