[scala-spark]11. RDD控制操作
生活随笔
收集整理的這篇文章主要介紹了
[scala-spark]11. RDD控制操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Spark可以將RDD持久化到內(nèi)存或者磁盤,持久化到內(nèi)存可以極大的提高迭代計算以及計算模型之間的數(shù)據(jù)共享,一般情況下,執(zhí)行節(jié)點60%內(nèi)存用于緩存數(shù)據(jù),剩下40%用于運行任務(wù)。Spark使用persist、cache進行操作持久化,其中cache是persist的特例。
- cache():RDD[T]
- persist():RDD[T]
- persist(level:StorageLevel):RDD[T]
1.?什么情況下需要對數(shù)據(jù)進行持久化
2. 函數(shù)接口的使用
-
persist()
默認使用MEMORY_ONLY這個緩存級別
persist(level:StorageLevel):RDD[T]根據(jù)不用的緩存級別對RDD做不同的緩存操作
- cache()
cache()方法使用了默認的存儲級別—StorageLevel.MEMORY_ONLY將RDD緩存在內(nèi)存中
- unpersist()
清除緩存操作
def unpersist(blocking: Boolean = true): this.type = {logInfo("Removing RDD " + id + " from persistence list")sc.unpersistRDD(id, blocking)storageLevel = StorageLevel.NONEthis }?
總結(jié)
以上是生活随笔為你收集整理的[scala-spark]11. RDD控制操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于HOOK截入中文输入
- 下一篇: C++单继承