我正在使用单节点 Spark 设置将大量 JSON 文件(总大小:11GB)转换为 Parquet 文件。目前,我已为驱动程序分配了 6GB,为执行程序分配了 4GB,但我遇到了内存不足错误。
在这种情况下,驱动程序和执行程序的建议内存分配是多少?
一般的经验法则是为执行程序分配比驱动程序更多的内存,因为执行程序将完成大部分繁重的工作。
就像 Spark 中的任何工作负载一样,最佳配置对于特定用例来说非常主观。请检查您是否以 Spark 特定方式加载 JSON 文件,而不是一次将所有文件加载到内存中。
以下是使用 PySpark 实现相同功能的示例代码:
# Load JSON files
df = spark.read.json("path/to/json/files")
# Save as Parquet
df.write.parquet("path/to/parquet/file")