databricks 中的 pyspark 驱动程序节点内存泄漏

问题描述 投票:0回答:1

我在 databricks 中的 PySpark 应用程序中遇到内存问题。驱动程序节点上的内存使用量随着时间的推移不断增加,直到最终由于内存不足 (OOM) 错误而崩溃。当我对文件夹中的每个图像循环执行以下函数时,就会出现问题:

Python

def read_image_and_save_to_df(image_path, save_path):
    # Read image (tif)
    # Convert it to a PySpark DataFrame
    # Save to Parquet format

# For each image in the folder:
for image_path in image_folder:
    read_image_and_save_to_df(image_path, save_path)

我尝试过在函数结束时清理对象,并清除 SparkContext 中的缓存和取消持久化的 RDD,但内存使用量仍然增长。这似乎是内存泄漏,但我不确定为什么会发生。关于如何解决此问题有什么想法吗?

函数结束时清除缓存之前的内存使用情况: memory usage before clearing cache at the end of the function:

函数结束时清除缓存后的内存使用情况:

memory usage after clearing cache at the end of the function:

pyspark out-of-memory databricks
1个回答
0
投票

你想通了吗?我会发表评论,但我没有足够的声誉。

© www.soinside.com 2019 - 2024. All rights reserved.