-1
我有一个数据集是从卡桑德拉火花加载。加载这个数据集后,我将从cassandra中删除一些项目,但我希望我的数据集作为下一次计算的第一个数据集。我用persist(DISK_ONLY)
来解决它,但它似乎尽力而为。 如何强制使用火花以避免重新计算?如何强制spark以避免数据集重新计算?
例如:
val dataset:Dataset[Int] = ??? // something from cassandra
dataset.persist(StorageLevel.DISK_ONLY) // it's best effort
dataset.count // = 2n
dataset.persist(_ % 2 == 0).remove // remove from cassandra
data.count // = n => I need orginal dataset here
@mrsrinivas火花缓存和持久性是最优化的方式。对他们没有保证。 –
我同意,我从来没有提到任何地方DAG将跳过执行阶段。但是,如果rdd在任何阶段持续**,每次调用RDD时都不会重新计算RDD。 – mrsrinivas