我有一個非常典型的RDD場景,我收集一些數據,堅持下來,然後多次使用持續RDD進行各種轉換。堅持把速度提高一個數量級,所以堅持是絕對有必要的。爲什麼spark MEMORY_AND_DISK比MEMORY_ONLY慢?
但我很驚訝不同的持續方法的相對速度。如果我堅持使用MEMORY_AND_DISK
,那麼隨後每次使用持久RDD需要比使用MEMORY_ONLY
時長10%。這是爲什麼?如果數據適合內存,我會期望它們具有相同的速度,並且如果某些分區不適合內存,我預計MEMORY_AND_DISK
會更快。爲什麼我的時間表總是不表明這是真的?
但是,如果緩存被丟棄,則需要重新查詢數據。這些查詢速度較慢,比寫入/讀取磁盤緩存緩慢一個數量級。 – Darryl