Spark作业服务器释放内存

时间:2016-12-15 12:30:02

标签: memory apache-spark spark-jobserver

我已经在独立模式下设置了一个spark job-server(参见https://github.com/spark-jobserver/spark-jobserver/tree/jobserver-0.6.2-spark-1.6.1)。

我已创建了要使用的默认上下文。目前我在这方面有两种工作:

  • 与其他服务器同步:
    • 转储来自其他服务器的db;
    • 的数据
    • 执行一些连接,减少数据,生成新的DF;
    • 将获得的DF保存在镶木地板文件中;
    • 将此镶木地板文件作为临时表加载并缓存;
  • 查询:在缓存的表上执行sql查询。

我坚持的唯一对象是将被缓存的最终表。

我没有得到的是为什么当我执行同步时,所有分配的内存都被使用并且从未被释放,但是,如果我直接加载镶木地板文件(重新启动服务器,使用镶木地板)之前生成的文件),只使用了一小部分内存。

我错过了什么?有一种方法可以释放未使用的内存吗?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过取消隐藏缓存表来释放内存:yourTable.unpersist()