Apache spark OOM错误-无法获取261244字节内存,获取0

Apache spark OOM错误-无法获取261244字节内存,获取0,apache-spark,google-cloud-platform,google-cloud-dataproc,Apache Spark,Google Cloud Platform,Google Cloud Dataproc,我正在尝试运行spark作业,这是dataproc上的数据和处理密集型作业,并在出现以下错误时获得OOM ‘OOM error - unable to acquire 261244 bytes of memory, got 0’ 为了概述收集操作,工作是洗牌TBs的数据。大约6TB 我所知道的是,当执行器内存不足时会出现上述错误,但当我增加执行器内存时,每个节点的执行器会减少,从而导致vCore减少,从而导致作业运行缓慢 有人能帮我解决以上错误吗。我已经尝试了stackoverflow上建议的

我正在尝试运行spark作业,这是dataproc上的数据和处理密集型作业,并在出现以下错误时获得OOM

‘OOM error - unable to acquire 261244 bytes of memory, got 0’
为了概述收集操作,工作是洗牌TBs的数据。大约6TB

我所知道的是,当执行器内存不足时会出现上述错误,但当我增加执行器内存时,每个节点的执行器会减少,从而导致vCore减少,从而导致作业运行缓慢

有人能帮我解决以上错误吗。我已经尝试了stackoverflow上建议的一切

Dataproc配置

我使用的是highmem-16 dataproc机器


无法共享代码,因为它是包含大量转换的大量代码,这是对数据的第一个操作。

如果您可以共享当前dataproc配置以及带有输入和输出数据的代码示例,那就太好了。通常情况下,根据采集操作,大量数据可能存储在驱动程序内存中,从而导致OOM。如果不查看您正在尝试执行的操作,则很难确定根本原因。一般来说,为了避免OOM,有两个选项a)增加内存b)查看应用程序代码以减少混乱。我建议您运行较小的应用程序代码示例,以查看问题发生的位置。我建议您增加执行器内存和驱动程序内存。让我们看看它是否有用。如果这不起作用。我会把工作分成几个部分,并试图找出根本原因。多谢!当然,要记住的另一件事是6 TB的数据量很大。除非有很好的理由,否则请通过预先应用过滤器来减少输入数据的大小。如果可能,请让我也尝试一下。如果您可以共享当前dataproc配置以及输入和输出数据的代码示例,这将是很好的。通常情况下,根据采集操作,大量数据可能存储在驱动程序内存中,从而导致OOM。如果不查看您正在尝试执行的操作,则很难确定根本原因。一般来说,为了避免OOM,有两个选项a)增加内存b)查看应用程序代码以减少混乱。我建议您运行较小的应用程序代码示例,以查看问题发生的位置。我建议您增加执行器内存和驱动程序内存。让我们看看它是否有用。如果这不起作用。我会把工作分成几个部分,并试图找出根本原因。多谢!当然,要记住的另一件事是6 TB的数据量很大。除非有很好的理由,否则可以通过预先应用过滤器来减少输入数据的大小。当然,如果可能的话,让我也尝试一下。