MapReduce 獨特的思維

2022-05-07 18:18:06 字數 1947 閱讀 6477

很高興來到這個有意思的地方--部落格論壇,當然這也是我的第一篇部落格。根據網上關於mapreduce的一些翻譯及他人的解釋,我對於mapreduce有了一些個人的認識和見解,想在這裡與大家分享和交流一下。mapreduce簡單來說,就是在超大計算機集群組上進行的簡單資料處理模式。

首先,mapreduce產生的原因在於,谷歌每天甚至每秒所產生的資料過於龐大,而又必須在短時間內得到解決和處理。在傳統計算機設計上,要想在短時間內處理大量資料,就必須擁有高效能高運算能力的計算機裝置,並且隨著計算機的大規模發展和普及,對於其計算要求也必將是逐漸提高的,那麼就意味著為實現提高效能和計算能力以及維護和執行將投入極高的費用,同時這也將面臨著高風險的裝置故障問題,那麼這樣的投入和做法將是不現實的。在這樣的背景下,mapreduce應運而生,憑藉著獨特的構造模式既解決了大資料處理過程中資料量龐大的問題,又擁有非比尋常的容錯能力,而且所需的硬體裝置並不需要極高的成本和維護執行費用,其主要貢獻在於利用簡單有效的介面設定來實現自動式的並行化和大規模分布式計算,並借助這個介面的實現在大量的普通pc機上實現高效能計算。

雖然很多技術性問題我還沒有深入了解,但是在一定程度上其思維模式還是十分明顯易懂的。俗話說,三個臭皮匠頂個諸葛亮,毫不誇張地說mapreduce的應用正是印證了這句話的精髓。這個技術大致過程是這個樣子的(如有誤解和盲區,還請見諒),mapreduce庫使用者通過兩個函式來表達這兩個計算map和reduce,使用者所定義的map函式會根據使用者輸入的資料對,相應地產生中間key/value對集,再根據集群中的master所發布的指令集中起來,這時mapreduce庫就會將所有的中間相同的key和value對集聚合在一起,再由master發布指令將這些對集傳遞給reduce,而reduce函式的作用正是將接收到的中間key/value對集合並為小的value,由於合併的value集是相同的,那麼只需要產生的輸出值也應該是相同的,簡單來說,就是將相同計算合併處理,避免重複計算,所以在reduce運算過程中我們每次只需要才產生和呼叫0或1個輸出value,通過迭代器將中間value提供給使用者使用的reduce函式即可,也就相應地可以根據調整記憶體來控制value列表的大小。通俗來說,mapreduce的工作原理實際上就是將大量的資料先通過分類整理,簡化合併後計算,再通過乙個主導計算機將需要的運算分配給多個普通計算機進行處理,既節省了傳送大量資料的時間,也減小了對計算機效能的要求和執行計算的時間,再對返回資料進行分析然後反饋給使用者。這是我通過查詢網上關於maprduce的原文翻譯和相關解釋,結合自己的理解進行的分析,非常感謝大牛們的幫助。

雲計算技術實際上是一種對於資源的整合與運用,在某種意義上就是對於資源的有效利用,減少不必要的浪費和重複計算的過程。在我的生活中雲計算的應用已經相當廣泛,就我本階段而言,雲計算的優點可能還不夠明顯,用的最多的還是網路雲盤的技術吧。其實在很大程度上網路上的資源實際上都是一種簡化運算和節省空間的模式存在的,例如一部電影資源儲存在雲盤中,實際上儲存的只是乙個位址,實際意義上的電影資源只有幾份(其中幾份還是備份,避免丟失資料),如果在傳統意義上來說,要看一部電影需要一部影碟,那麼n個想要看一部電影就需要n份影碟,但實際上一部電影乙個人也就會只看幾次而已。而影碟的製作需要成本,並且在使用幾次後便沒有再次使用的意義,在某種程度上是一種浪費。雲計算的使用和普及,基本上解決了這個問題,相當於一部影片只需要乙份(不被損壞的情況下),可傳輸給n個人進行**,同時可以多次使用,儲存和使用都十分方便和快捷,還省去了物品轉借過程中的損耗與時間損耗問題。雲計算技術遠不僅此而已,在我的想法中,我認為所有可以可以通過網路進行分享的東西都是可以利用網路來進行整合和有效利用的,因此這也將在一定程度上減少了資源的浪費和時間的浪費。當然,我也不認為所有的事物都是可以通過網路的形式來實現的,比如說閱讀吧,在很大程度上我認為網路閱讀要比紙質閱讀的使用感差很多,一是電子產品的使用對於眼睛的疲勞感更強一些,二是紙質閱讀給人的審美感和使用感更加柔和,似乎這又進入了美學的範疇。這可能跟我個人習慣有關吧,但是我堅信虛擬的世界必須得有真實的世界作為支撐,否則人將失去審美的能力甚至失去創造的能力。

我的看法就說到這裡吧,這是我的一些想法和看法。如果有什麼不對或者不一樣的看法,希望大家提出來多多指教一下,謝謝大家!

深搜 回溯的獨特思維

深搜優先搜尋,簡稱 深搜 在 資料結構與演算法 大一的時候學習的內容,現在都大三了拿出來看,還是一頭霧水,在經歷了一道深搜的難題逐漸掌握住深搜的關鍵點和它的獨特思維是我今天獲得的重大收穫。書上如此解釋深搜,深度優先搜尋 depth first search 遍歷類似於樹的先根遍歷,是樹的先根遍歷的推...

獨特的骰子

天真的wells認為自己的骰子是獨一無二的。當有人告訴他的骰子很可能在商店裡有很多個時,wells簡直不敢相信自己的小耳朵!那麼問題來了,眼花的wells會告訴你他的獨特的骰子的6個面,然後再告訴你一堆商店裡骰子。問和wells的獨特骰子長得一模一樣的到底有多少個。當然骰子是可以任意旋轉的。第一行乙...

獨特的路徑(path)HGOI

問題描述 給定乙個 n m 的矩形色板,有 k 種不同的顏料,有些格仔已經填上了某種顏色,現在 需要將其他格仔也填上顏色,使得從左上角到右下角的任意路徑經過的格仔都不會出現兩種 及以上相同的顏色。路徑只能沿著相鄰的格仔,且只能向下或者向右。計算所有可能的方案,結果對 1000000007 10 9 ...