gpt4 book ai didi

mapreduce - Spark中 "RDDs can be stored in memory"是什么意思?

转载 作者:行者123 更新时间:2023-12-03 06:53:55 24 4
gpt4 key购买 nike

在Spark的介绍中说

RDDs can be stored in memory between queries without requiring replication .

据我所知,您必须使用 .cache().persist() 手动缓存 RDD。如果我不采取任何措施,如下所示

   val file = sc.textFile("hdfs://data/kv1.txt")
file.flatMap(line => line.split(" "))
file.count()

我不将RDD"file"持久化到缓存或磁盘中,这样的话Spark能跑得更快吗比MapReduce?

最佳答案

Spark 将逐个分区地计算计算的每个阶段。它将暂时在内存中保存一些数据以完成其工作。它可能必须将数据溢出到磁盘并通过网络传输才能执行某些阶段。但这些都不是(必然)持久的。如果您再次count(),它将从头开始。

这并不是 Spark 运行速度比 MapReduce 快的情况;而是 Spark 运行速度比 MapReduce 快的情况。对于像这样的简单操作来说,它可能会。事实上,加载到内存中并没有什么好处。

更复杂的示例,例如不平凡的管道或对 RDD 的重复访问,将显示持久化在内存甚至磁盘上的好处。

关于mapreduce - Spark中 "RDDs can be stored in memory"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25760206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com