有谁能帮我理解SPARK如何读取hdfs数据并在主存中管理它?
换句话说,
如果我创建3个RDD,首先从hadoop文件进行RDD并对其进行一些转换并创建第二个RDD并再次对第二个RDD进行一些转换并创建第三个RDD然后在第三个RDD上调用一些动作。
答案 0 :(得分:1)
如果所有RDD共享一个文件,则数据将仅在操作上读取一次,而不是在任何转换上读取。
重新生成第三个RDD的DAG将在内存中,因为如上所述,只有RDD#3将包含任何实际数据。
答案 1 :(得分:0)
如果您不缓存RDD3,那么Spark将从HDFS读取数据,否则它将从内存中读取。