日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MapReduce编程概述

發(fā)布時間:2024/1/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MapReduce编程概述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? MapReduce是一個用于大規(guī)模數(shù)據(jù)集的并行處理的分布式計算的編程框架。MapReduce將一個數(shù)據(jù)處理過程拆分為Map和Reduce兩部分:Map是映射,負(fù)責(zé)數(shù)據(jù)的過濾分發(fā);Reduce是規(guī)約,負(fù)責(zé)數(shù)據(jù)的計算歸并。開發(fā)人員只需通過編寫map和reduce函數(shù),不需要考慮分布式計算框架的運行機制,即可在Hadoop集群上實現(xiàn)分布式運算。MapReduce可以幫助開發(fā)人員將精力集中在業(yè)務(wù)邏輯的開發(fā)上,分布式計算的復(fù)雜性交由框架來處理。MapReduce把對數(shù)據(jù)集的大規(guī)模操作分發(fā)到計算節(jié)點,計算節(jié)點會周期性地返回其工作的最新狀態(tài)和結(jié)果。如果結(jié)點保持沉默超過一個預(yù)設(shè)時間,主節(jié)點則將該節(jié)點標(biāo)記為死亡狀態(tài),并把已分配該節(jié)點數(shù)據(jù)發(fā)送到其他結(jié)點重新計算,從而實現(xiàn)數(shù)據(jù)處理任務(wù)的自動調(diào)度。

? ? Hadoop支持多種語言進行MapReduce編程,包括Java、Ruby、Python和C++等。在Hadoop平臺上運行MapReduce程序,主要人物是將HDFS存儲的大文件數(shù)據(jù)分發(fā)給多個計算節(jié)點上的Map程序進行處理,然后再由計算節(jié)點上的Reduce程序合并或進一步處理多個節(jié)點上的計算機結(jié)果。步驟如下:

? ? (1)編寫Hadoop中org.apache.hadoop.mapreduce.Mapper類的子類,并實現(xiàn)map方法;

? ? (2)編寫Hadoop中org.apache.hadoop.mapreduce.Reducer類的子類,并實現(xiàn)reduce方法;

? ? (3)編寫main程序,設(shè)置MapReduce程序的配置,并指定任務(wù)的Map程序類(第一步的Java類),Reduce程序類等(第二步的Java類),指定輸入/輸出文件及格式,提交任務(wù)等;

? ? (4)將(1)~(3)的類文件與Hadoop自帶的包打包為jar文件,并分發(fā)到Hadoop集群的任意節(jié)點。

? ? (5)運行main程序,任務(wù)自動在Hadoop集群上運行;

? ? (6)到指定文件夾查看計算結(jié)果;

? ? Map程序和Reduce程序的輸入/輸出都是以Key-Value對的形式出現(xiàn)的,定義map函數(shù)的輸出和reduce函數(shù)的輸入的Key-Value的格式必須一致,MapReduce的調(diào)度程序完成Map和Reduce間的數(shù)據(jù)傳遞。

?

總結(jié)

以上是生活随笔為你收集整理的MapReduce编程概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。