gpt4 book ai didi

apache-spark - 坚持在内存中无法在 Spark 中工作

转载 作者:行者123 更新时间:2023-12-04 10:07:19 25 4
gpt4 key购买 nike

我正在尝试使用 Spark 中的持久功能将数据持久保存在内存中并对其进行计算。我假设将数据存储在内存中会使迭代算法(例如 MLlib 中的 K 均值聚类)的计算速度更快。

    val data3 = sc.textFile("hdfs:.../inputData.txt")
val parsedData3 = data3.map( _.split('\t').map(_.toDouble))
parsedData3.persist(MEMORY_ONLY)

对persist 的调用会引发以下错误:
    scala> parsedData3.persist(MEMORY_ONLY)
<console>:17: error: not found: value MEMORY_ONLY
parsedData3.persist(MEMORY_ONLY)

有人可以帮助我如何正确使用持久化将数据保存在内存中以用于迭代算法吗?

最佳答案

如果你看 rdd.persist 的签名正在:def persist(newLevel: StorageLevel): this.type您可以看到它采用“StorageLevel”类型的值,因此在您的示例中调用 persist 的正确方法是:

parsedData3.persist(StorageLevel.MEMORY_ONLY) 

StorageLevel的伴生对象定义这些常量,因此将其引入上下文将允许您直接使用常量(如在您的代码中)
import org.apache.spark.storage.StorageLevel._
...
parsedData3.persist(MEMORY_ONLY) // this also works

关于apache-spark - 坚持在内存中无法在 Spark 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24797374/

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