Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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
Java Spark服用了20G+;写入140MB拼花地板文件的内存_Java_Apache Spark_Memory Management_Apache Spark Sql_Parquet - Fatal编程技术网

Java Spark服用了20G+;写入140MB拼花地板文件的内存

Java Spark服用了20G+;写入140MB拼花地板文件的内存,java,apache-spark,memory-management,apache-spark-sql,parquet,Java,Apache Spark,Memory Management,Apache Spark Sql,Parquet,我有一个spark作业,它在一个较小的拼花文件中读取,并对列名进行一些更改,然后将其重新分区到稍大的文件中,并在分区中进行排序 最终以拼花格式写入HDFS 但根据纱线容器日志: 2018-10-10 20:51:19397信息 org.apache.hadoop.warn.server.nodemanager.containermanager.monitor.ContainerMonitorImpl:ProcessTree 13331对容器id容器的内存使用:使用了26.9 GB的35.5 GB

我有一个spark作业,它在一个较小的拼花文件中读取,并对列名进行一些更改,然后将其重新分区到稍大的文件中,并在分区中进行排序

最终以拼花格式写入HDFS

但根据纱线容器日志:

2018-10-10 20:51:19397信息 org.apache.hadoop.warn.server.nodemanager.containermanager.monitor.ContainerMonitorImpl:ProcessTree 13331对容器id容器的内存使用:使用了26.9 GB的35.5 GB物理内存;使用了35.0 GB的74.5 GB虚拟内存

其中文件大小仅为145MB

代码如下:

df.repartition(32, columns)
            .sortWithinPartitions(columns)
            .write().parquet(PATH)

这项工作的每项任务都需要25GB+的物理内存使用率

有趣的观察,但你的问题是什么?请具体说明你的问题。此外,请添加有关如何提交spark作业的详细信息。你给驱动程序和执行器多少内存?我给每个执行器32GB内存。我的问题是,是什么占用了如此多的内存,以至于数据量相对较小