1、檔案系統本地性
第一次執行時資料不在記憶體中,需要從hdfs上取,任務最好執行在資料所在的節點上;
2、記憶體本地性
第二次執行,資料已經在記憶體中,所有任務最好執行在該資料所在記憶體的節點上;
3、lru置換
如果資料只快取在記憶體中而並沒有快取到磁碟上,此時資料被置換出記憶體,則從hdfs上讀取;
如果資料不僅快取到記憶體而且還快取到磁碟上,此時資料被置換出記憶體,則從磁碟上直接讀取;
blockmanage.scala
putblockinfo.synchronizedsize =res.size
res.data match
//keep track of which blocks are dropped from memory
res.droppedblocks.foreach
}......
注:只要設定了記憶體儲存,即使也設定了磁碟儲存,也只會先存在記憶體中,不是一開始就存放在磁碟上,只有當記憶體不夠時才會置換到磁碟上去;
詳情參照:
Spark資料本地性
1 檔案系統本地性 第一次執行時資料不在記憶體中,需要從hdfs上取,任務最好執行在資料所在的節點上 2 記憶體本地性 第二次執行,資料已經在記憶體中,所有任務最好執行在該資料所在記憶體的節點上 3 lru置換 如果資料只快取在記憶體中而並沒有快取到磁碟上,此時資料被置換出記憶體,則從hdfs上讀取...
Spark效能優化之資料本地性調優
一 效能優化之資料本地性 1 資料本地性對分布式系統的效能而言是一件最為重要的情況之一,程式執行本身飲食 和資料兩部分,單機版本一般情況下很少考慮資料本地性的問題 因為資料在本地 但是對於單機版本的程式,由於資料本性有process local和node local之分,所以,盡量讓資料處於proc...
(十七)TableView的本地效能優化
面試中常常會問tableview的效能優化。tableview只會載入能看到的cell,每當有乙個cell進入視野範圍內,就會呼叫。存在著記憶體隱患,如果使用者拖動的很快,所以記憶體會飆公升的很快,因此要針對cell的返回方法上進行效能優化。優化方案 系統呼叫這個方法的時候就是為了得到cell,一般...