我是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 –