默认情况下,Tachyon是否由Apache Spark中的RDD实现?

时间:2015-04-22 13:53:45

标签: apache-spark bigdata rdd in-memory-database alluxio

我试图了解内存中的Spark功能。在这个过程中,我遇到了Tachyon  这基本上在内存数据层中,它通过使用沿袭系统提供容错而无需复制,并减少了重新计算 通过检查指向数据集。现在困惑的地方是,Spark的标准RDD系统也可以实现所有这些功能。所以我想知道RDD在幕后实施Tachyon来实现这些功能吗?如果不是Tachyon的用途,那么它的所有工作都可以通过标准RDD来完成。或者我在将这两者联系起来时犯了一些错误?一个详细的解释或链接将是一个很大的帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

你所链接的论文中没有反映Tachyon作为发布开源项目的实际情况,该论文的部分内容仅作为研究原型存在,并且从未完全集成到Spark / Tachyon中。

当您通过OFF_HEAP将数据保存到rdd.persist(StorageLevel.OFF_HEAP)存储级别时,它会使用Tachyon将该数据作为文件写入Tachyon的内存空间。这将它从Java堆中删除,从而为Spark提供了更多的堆内存。

它目前没有写入血统信息,因此,如果您的数据太大而无法容纳到已配置的Tachyon群集中,RDD的内存部分将会丢失,并且您的Spark作业可能会失败。