我有50 GB的数据集,它不适合我的工作计算机的8 GB RAM,但它有1 TB的本地硬盘。
官方文档中的以下链接提到,如果数据不适合内存,Spark可以使用本地硬盘。
http://spark.apache.org/docs/latest/hardware-provisioning.html
本地磁盘
虽然Spark可以在内存中执行大量计算,但它仍然存在 使用本地磁盘来存储不适合RAM的数据,以及 保持阶段之间的中间产出。
对我来说,计算时间并不是一个优先事项,但由于缺少备用选项,将数据整合到一台计算机的RAM /硬盘中进行处理更为重要。
注意: 我正在寻找 不 包含以下项目的解决方案
我的最终目标是使用Spark MLLIB来构建机器学习模型。 我正在寻找真实,实用的解决方案,人们成功地使用Spark来处理在单台计算机中无法以独立/本地模式放入RAM的数据。有人成功完成了这项工作而没有重大限制吗?
问题
SAS具有类似的核外处理能力,使用它可以同时使用RAM和RAM。模型构建的本地硬盘等。当数据超过RAM大小时,Spark可以以相同的方式工作吗?
SAS将完整的数据集写入" .sas7bdat"格式可以做类似持久性的硬盘吗?
答案 0 :(得分:2)
看看http://spark.apache.org/docs/latest/programming-guide.html#rdd-persistence 您可以根据需要使用各种持久性模型。 MEMORY_AND_DISK将解决您的问题。如果想要更好的性能,请使用MEMORY_AND_DISK_SER,它以序列化方式存储数据。