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

时间:2016-05-17 03:29:26

标签: hadoop apache-spark machine-learning sas bigdata

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

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

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

  

本地磁盘

     

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

对我来说,计算时间并不是一个优先事项,但由于缺少备用选项,将数据整合到一台计算机的RAM /硬盘中进行处理更为重要。

注意: 我正在寻找 包含以下项目的解决方案

  1. 增加内存
  2. 样品&减少数据大小
  3. 使用云计算机或群集计算机
  4. 我的最终目标是使用Spark MLLIB来构建机器学习模型。 我正在寻找真实,实用的解决方案,人们成功地使用Spark来处理在单台计算机中无法以独立/本地模式放入RAM的数据。有人成功完成了这项工作而没有重大限制吗?

    问题

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

    2. SAS将完整的数据集写入" .sas7bdat"格式可以做类似持久性的硬盘吗?

    3. 如果可以,如何为此目的安装和配置Spark?

1 个答案:

答案 0 :(得分:2)

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