讀完谷歌公司的三篇論文。雖然說里面的描述在我現在來看很多都看不懂,但是還是感覺很有感觸。不得不說谷歌公司今天能有這樣強大的生命力,是有它一定的道理的。這三篇論文分別是Google file system,mapreduce,Big table。
Google file system是一種檔案系統,能夠運行在廉價設備上。Big table是一個分布式的結構化存盤系統,被Google用來存盤很多專案的資料。在這里我想聊一下,我對mapreduce的一些個人看法。(因為我學過一點python,里面也有鍵值對,所以理解起來就比較容易)
Mapreduce模型分map、reduce兩部分。根據谷歌三篇大資料論文,MapReduce 編程模型的原理是:用戶自定義的 Map 函式接受一個輸入的 key/value pair 值,然后產生一個中間 key/value pair 值的集合。MapReduce 庫把所有具有相同中間 key 值 I 的中間 value 值集合在一起后傳遞給 reduce 函式。用我自己的想法來說就是:把大量的資料進行分割,然后每個小塊資料進行處理并回傳值,然后把值合并輸出。
為什么需要mapreduce?因為單一的機器不能處理海量的資料,或者說處理代價太大,因而達不到所需要的要求。使用mapreduce可以讓開發人員專注于業務邏輯,而復雜的計算則可以讓這個框架完成,從而提高開發效率,減輕開發人員的負擔。
MapReduce的優點:
1.易于編程
2.良好的擴展性
3.高容錯性
4.適合PB級別以上的大資料的分布式離線批處理
缺點:
1.難以實時計算(MapReduce處理的是存盤在本地磁盤上的離線資料)
2.不能流式計算(MapReduce設計處理的資料源是靜態的)
3.難以DAG計算MapReduce這些并行計算大都是基于非回圈的資料流模型,也就是說,一次計算程序中,不同計算節點之間保持高度并行,這樣的資料流模型使得那些需要反復使用一個特定資料集的迭代演算法無法高效地運行。
資料就是金錢,在我接觸爬蟲的時候,我就體會到大量資料在進行處理分析后,就有可能得出一個特別有用的東西。現在看完谷歌公司對大資料的處理后,更加體會到大資料的危機。最后希望自己堅持學習,不斷提升自己。
uj5u.com熱心網友回復:
谷歌一直都是互聯網界的精神領袖不在谷歌中開發就在谷歌中爆發
uj5u.com熱心網友回復:
不錯的介紹 謝謝分享轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/123776.html
標籤:分布式計算/Hadoop
上一篇:為了積分來的
