如何在 Spark 中检查或保存大型矩阵到文件
Posted
技术标签:
【中文标题】如何在 Spark 中检查或保存大型矩阵到文件【英文标题】:How to inspect or save large matrix to file in Spark 【发布时间】:2017-08-22 21:21:00 【问题描述】:我在 PySpark 中创建了一个名为 mtm 的大型块矩阵,尺寸为 85K x 85K。我想检查 Matrix 以确保它是按照我想要的方式创建的。我尝试了不同的路线,但所有路线都因退出代码 143 或 92 的内存问题而失败。
到目前为止我尝试过的选项: 1.将矩阵转换为rdd,看看第一项:
mtm_coor = mtm.toCoordinateMatrix()
mtm_rdd = mtm_coor.entries
mtm_rdd.take(1)
保存到文本文件
mtm_rdd.saveAsTextFile('./mtm.txt')
将其转换为 DataFrame
mtm_df = mtm_rdd.toDF()
我的问题是找出 PySpark 中的工作流程。如何在不耗尽内存的情况下检查大型矩阵以及如何将大型矩阵保存到文件而不遇到内存问题?
【问题讨论】:
【参考方案1】:问题是当执行'save to text file'或'.take(5)'时,之前定义的操作都会在这一步运行。 OOM 错误意味着操作太大而无法放入内存。唯一的解决方案是寻找更高效的操作。
【讨论】:
以上是关于如何在 Spark 中检查或保存大型矩阵到文件的主要内容,如果未能解决你的问题,请参考以下文章