spark的快取管理解析
[睡著的水-hzjs-2016.08.24]
一、cachemanager分析
1、cachemanager管理的快取,而混存可以是基於記憶體的快取,也可以是基於磁碟的快取;
2、cachemanager需要通過blockmanager來運算元據;
3、當task 執行的時候會呼叫rdd的compute方法進行計算,而compute 方法會呼叫iterator方法:
二、cachemanager原始碼的詳解
1、cache 在工作的時候會最大化的保留資料,但是資料不一定絕對完整,因為當前的計算如果需要記憶體空間的話看,那麼cache在記憶體中的資料必須讓出空間,此時如果在rdd持久化的時候同時指定了可以把資料放在disk 上,那麼部分cache 的資料可以從記憶體轉入磁碟,否則的話資料就會丟失!!!
2、具體cachemanager在獲得快取資料的時候會通過blockmanager 來抓到資料;
3、cachemanager 沒有通過blockmanager獲得快取內容的話,此時會通過rdd的如下方法來獲得資料:
上述方法首先會檢視當前的rdd是否進行了checkpoint,如果進行了話直接讀取checkpoint的資料,否則的話就必須進行計算來計算之後通過putinblockmanager快取起來
對Spark的理解
spark作為乙個新的分布式計算引擎正慢慢流行起來,越來越來的企業也準備用它的替換mapreduce,根據自己在工作的一些體會談談的優勢。分布式計算歸根到底還是乙個map和reduce操作,map操作對每個資料塊進行計算,reduce操作對結果進行彙總,現在一些nosql分布式資料庫其實也是這麼一套...
HTTP快取機制與原理解析
http報文分為兩個部分 body 用來存放http傳輸的真正資料 http快取涉及到三個主主體 客戶端瀏覽器,快取資料庫和服務端。而http快取又分為兩種 其基本思想就是 當資料不存在於快取資料庫時,此時會直接去請求伺服器,並把得到的結果寫入快取資料庫中 若資料存在快取資料庫且未過時,則直接去快取...
Python中的檔案管理解析
f open 檔名 檔名後不加任何時,預設是r以唯讀的方法開啟 r 只能讀,不能寫。讀取檔案不存在時會報錯 r 可讀,可寫。讀取檔案不存在時會報錯 w 只能寫,不能讀。檔案存在時,會清空檔案覆蓋檔案內容 檔案不存在時,會新建檔案。w 可寫,可讀。檔案存在時,會清空檔案覆蓋檔案內容 檔案不存在時,會新...