Apache Spark 如何处理不适合内存的数据?
Posted
技术标签:
【中文标题】Apache Spark 如何处理不适合内存的数据?【英文标题】:How does Apache Spark process data that does not fit into the memory? 【发布时间】:2018-12-22 02:58:38 【问题描述】:我返回了一个 spark 程序,从 2GB 内存文件中查找记录数,存储内存为 1GB,它运行成功。
但我的问题是 2GB 文件无法放入 1GB 内存,但 spark 仍然如何处理文件并返回计数。
【问题讨论】:
What will spark do if I don't have enough memory?的可能重复 【参考方案1】:仅仅因为您在磁盘中有 2Gb 文件,并不意味着它会在 RAM 中占用相同或更少或更多的内存。另一点是您的文件如何存储在磁盘中(行格式或列格式)。假设它以 ORC 格式存储,那么它已经有一个关于表的预先计算的详细信息。
我会建议您检查有关内存详细信息的 spark 执行器和任务详细信息,以了解用于完成 DAG 的阶段/执行器/任务。
【讨论】:
以上是关于Apache Spark 如何处理不适合内存的数据?的主要内容,如果未能解决你的问题,请参考以下文章