我是Apache Spark的新手,我在閱讀火花材料時無法理解火花中的幾個基本問題。每種材料都有自己的解釋方式。我在Ubuntu上使用PySpark Jupyter筆記本進行練習。在Apache Spark中緩存RDD的目的是什麼?
根據我的理解,當我運行下面的命令時,testfile.csv中的數據被分區並存儲在相應節點的內存中(實際上我知道它是一個懶惰的評估,它不會處理,直到它看到動作命令),但仍是概念
rdd1 = sc.textFile("testfile.csv")
我的問題是,當我運行下面的變革和行動命令,其中是否RDD2數據將存儲。
1.它存儲在內存中嗎?
rdd2 = rdd1.map(lambda x: x.split(","))
rdd2.count()
我知道RDD2的數據將可用,直到我關閉jupyter notebook.Then什麼是高速緩存的需要(),總之RDD2可以做所有的改造。我聽說所有的轉換後,內存中的數據都被清除了,那是什麼意思?
是否有它存儲在存儲器保持RDD在存儲器和高速緩存()
rdd2.cache()
我認爲這隻有當存儲級別爲MEMORY_ONLY –
@RockieYang你指的是* this *是什麼意思? 「RDD」會保存在內存中的事實? –
我指的是http://spark.apache.org/docs/latest/programming-guide.html#rdd-persistence –