只是想知道Spark是否使用HDFS集中缓存,我似乎无法找到任何问题。
e.g。
hiveContext.sql("SELECT * FROM A_TABLE")
这会利用缓存的块吗?
答案 0 :(得分:1)
它确实使用HDFS缓存块,但目前尚未针对它进行优化。 例如,块可能缓存在nodeA上,但任务在nodeB上调度。如果该块是nodeB的本地块,那么它将从磁盘读取。如果该块不在本地,那么HDFS将确保从其缓存的nodeA读取它 我有一个jira任务打开来优化它,虽然它尚未合并到spark trunk https://issues.apache.org/jira/browse/SPARK-19705