如何设置Apache Spark在本地模式下当数据不适合RAM时使用本地硬盘



我有50 GB的数据集,它不适合我的工作计算机的8 GB RAM,但它有1 TB的本地硬盘。

下面来自官方文档的链接提到,如果数据不适合内存,Spark可以使用本地硬盘。

http://spark.apache.org/docs/latest/hardware-provisioning.html

本地磁盘

虽然Spark可以在内存中执行大量计算,但它仍然使用本地磁盘存储不适合RAM的数据,以及在阶段之间保持中间输出。

对我来说,计算时间根本不是优先事项,但由于缺乏替代选项,将数据放入一台计算机的RAM/硬盘进行处理更为重要。

注:我正在寻找一个包括以下项目的解决方案

  1. 增加RAM
  2. 示例&减小数据大小
  3. 使用云或群集计算机

我的最终目标是使用Spark MLLIB来构建机器学习模型。我正在寻找现实生活中实用的解决方案,人们成功地使用Spark在单台计算机中以独立/本地模式对不适合RAM的数据进行操作。有人在没有重大限制的情况下成功地做到了这一点吗?

问题

  1. SAS具有类似的核外处理能力,使用该能力可以使用RAM和RAM;用于建模等的本地硬盘。当数据超过RAM大小时,Spark可以以同样的方式工作吗?

  2. SAS以".ssa7bdat"格式将完整的数据集持久化写入硬盘,Spark能做类似于硬盘的持久化吗?

  3. 如果可能的话,如何安装和配置Spark

查看http://spark.apache.org/docs/latest/programming-guide.html#rdd-持久性您可以根据需要使用各种持久性模型。MEMORY_AND_DISK将解决您的问题。如果您想要更好的性能,请使用MEMORY_AND_DISK_SER,它以序列化的方式存储数据。

最新更新