MapReduce模式 演算法和用例

2021-09-06 04:59:31 字數 995 閱讀 4776

隨著hadoop和大資料應用的爆發式增長,很多人正在尋找將他們已有的實現轉為mapreduce方式的方法。不幸的是,除了《應用mapreduce進行資料密集的文字處理》和《mahout in action》幾本有名書籍之外,很少有關設計mapreduce實現的出版物。在新文章「mapreduce模式、演算法和用例」中,ilya katsov提供了乙個系統化的綜述,闡述了能夠應用mapreduce框架解決的問題。

文章開始描述了乙個非常簡單的、作為通用的平行計算框架的mapreduce應用,這個框架適用於很多要求大量節點進行的計算和資料密集型計算,包 括物理和工程**,數值分析,效能測試等等。接下來是一組演算法,通常用於日誌分析、etl和資料查詢,包括計數及求和,資料整理(基於特定函式),過濾, 解析,驗證和排序。

第二大部分是關於mapreduce模式,katsov討論了包括多關係形mapreduce模式,通常用於資料倉儲應用程式。這些模式在hive 和pig實現中廣泛使用,幷包括基於推斷/函式的資料選擇,資料**、資料聯合、差分、交集和分組等聚集計算。另乙個討論是關於實現資料關聯和包含等算 法,例如repartition join和重複聯合。

更進一步,這篇文章討論了更為複雜的mapreduce處理演算法,包括圖處理、搜尋演算法(廣度優先搜尋)、page rank資料集合演算法,這些演算法應用於圖分析、web索引和通用搜尋應用。文章也涵蓋了常見的、需要互相關計算的文字分析和市場分析的用例。這部分包含 了」pairs「和」stripes」設計模式和它們的相對優劣。

最後,katsov給出了乙個在機器學習領域實現更複雜mapreduce的很好的參考書目。

文中描述的大多數演算法都有偽**描述及它們的適用性,優勢、劣勢和一些真實的用例。

如今很多人仍面臨應用hadoop和mapreduce解決業務問題的困擾。有些人仍然認為mapreduce是「搜尋業務問題領域的技術手段」。 這篇文章是填補mapreduce演算法、用例和設計模式空缺的重要一步。它展示了mapreduce強大的力量,而不僅僅是用那個聲名狼藉的「詞語計數」 例子,並顯示了mapreduce可以解決眾多實際問題的方式。

MapReduce模式 演算法和用例

隨著hadoop和大資料應用的爆發式增長,很多人正在尋找將他們已有的實現轉為mapreduce方式的方法。不幸的是,除了 應用mapreduce進行資料密集的文字處理 和 mahout in action 幾本有名書籍之外,很少有關設計mapreduce實現的出版物。在新文章 mapreduce模式...

MapReduce幾種執行模式

1 在eclipse中開發好mr程式 windows或linux下都可以 然後打成jar包 wc.jar 上傳到伺服器 執行命令 hadoop jar wc.jar cn.itheima.hadoop.mainclassrunner 2 在linux的eclipse中直接啟動runner類的main...

MapReduce程式執行模式

1 mapreduce程式是被提交給localjobrunner在本地以單程序的形式執行 2 而處理的資料及輸出結果可以在本地檔案系統,也可以在hdfs上 3 怎樣實現本地執行?寫乙個程式,不要帶集群的配置檔案 本質是程式的conf中是否有mapreduce.framework.name local...