[scala-spark]11. RDD控制操作
生活随笔
收集整理的這篇文章主要介紹了
[scala-spark]11. RDD控制操作
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Spark可以將RDD持久化到內(nèi)存或者磁盤(pán),持久化到內(nèi)存可以極大的提高迭代計(jì)算以及計(jì)算模型之間的數(shù)據(jù)共享,一般情況下,執(zhí)行節(jié)點(diǎn)60%內(nèi)存用于緩存數(shù)據(jù),剩下40%用于運(yùn)行任務(wù)。Spark使用persist、cache進(jìn)行操作持久化,其中cache是persist的特例。
- cache():RDD[T]
- persist():RDD[T]
- persist(level:StorageLevel):RDD[T]
1.?什么情況下需要對(duì)數(shù)據(jù)進(jìn)行持久化
2. 函數(shù)接口的使用
-
persist()
默認(rèn)使用MEMORY_ONLY這個(gè)緩存級(jí)別
persist(level:StorageLevel):RDD[T]根據(jù)不用的緩存級(jí)別對(duì)RDD做不同的緩存操作
- cache()
cache()方法使用了默認(rèn)的存儲(chǔ)級(jí)別—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控制操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于HOOK截入中文输入
- 下一篇: [scala-spark]12. RDD