Tachyon 是否默认由 Apache Spark 中的 RDD 实现?

Is Tachyon by default implemented by the RDD's in Apache Spark?

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

您链接的论文中的内容并不反映 Tachyon 作为发布开源项目的真实情况,该论文的部分内容仅作为研究原型存在,从未完全集成到 Spark/Tachyon.

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

它目前不写入沿袭信息,因此如果您的数据太大而无法放入您配置的 Tachyon 集群中,RDD 的内存部分将会丢失并且您的 Spark 作业可能会失败。