之前看了一些簡單的演算法題目,感覺很有意思,而在自己做的工程專案開發過程中,卻又感覺很少用到,大約是所做的工程太過於簡單的緣故吧。最近在讀《hadoop權威指南》那本書,從中看到了不少演算法的應用,舉兩個簡單的例子來說。
1.尋找最近的備份資料。
在hadoop中,使用者可以指定要資料的備份數目,比如預設default的備份數目是3。那麼在讀取資料時,如果發現某個結點的資料已經損壞,則需要從另外的備份中進行讀取。這樣,從哪乙個備份資料進行讀取就是乙個需要解決的問題。在hadoop的實現中,程式會自動選擇乙個「最近」的備份節點上的資料進行讀取。
問題來了,「最近」是什麼意思呢?
鑑於頻寬(bandwidth)是分布式系統中的乙個稀缺資源,使用兩個節點之間的頻寬來描述距離看上去是一種合理的選擇,然而,在實際應用中這卻很難實現。
hadoop使用了一種簡單的實現方法,它將網路描述為乙個樹形結構,然後用兩個節點距離最近公共祖先的距離之和來描述這兩個節點之間的距離!從下面的圖1可以更加清楚地看出在hadoop中節點之間的距離概念。其中d1和d2可能是兩個資料中心,r1和r2可以是乙個資料中心裡的兩台伺服器。這樣,就可以用這種抽象描述頻寬距離了。
從另乙個角度看自己
從去年11月15號寫下豪言壯語 每天更新一篇,到現在一篇也沒有更新,確實是吹牛吹大了。當然,我並不是忘記了天天積累的重要性,而是,稍微換了乙個地方踐行了不一樣的東西。我從2016年開始,一直在嘗試著通過踐行來重新認知自己,漸漸我發現,很多道理是相通的,很多踐行也是相通的,沒有呈現出來,不代表什麼都沒...
乙個普通的週末
每個星期天都是讓人開心的日子,睡到自然醒,穿著拖鞋不緊不慢的溜達去吃個早餐,手上就差個鳥籠了.回來後看 顫慄航班 著實被震撼了一把,記得當年911的時候還覺得有點幸災樂禍,嘿嘿,你美國也有今天。直到今天,通過我那可憐小驢汗流浹背辛苦拉了乙個通宵的盜版拷貝,終於,我在這件事情上昇華了,嘿嘿。我發自內心...
從 鍵 盤 磨 損 度 看 一 個 人
1 w嚴重磨損 原因 fifa的加速鍵是w。分析 此人是個fifa高手。這種人在看球時左手中指會不自覺地狂點 踢球時會抱怨說 又按錯鍵了 跑步時會默念 w w w 2 alt s或ctrl enter磨損 原因 這兩個組合都是oicq的傳送訊息。分析 此人是 狂,具備以一當十的能力。這種人會把別人的...