91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

以MapReduce編程五步走為基礎,說MapReduce工作原理

發布時間:2020-05-27 04:42:00 來源:網絡 閱讀:1258 作者:鯨落大叔 欄目:大數據

在之前的Hadoop是什么中已經說過MapReduce采用了分而治之的思想,MapReduce主要分為兩部分,一部分是Map——分,一部分是Reduce——合

MapReduce全過程的數據都是以鍵值對的形式存在的
如果你想了解大數據的學習路線,想學習大數據知識以及需要免費的學習資料可以加群:784789432.歡迎你的加入。每天下午三點開直播分享基礎知識,晚上20:00都會開直播給大家分享大數據項目實戰。

首先,我們假設我們有一個文件,文件中存了以下內容

hive spark hive hbase
hadoop hive spark
sqoop flume scala

這里涉及到一個偏移量(一個字符或空格為1位)
第一行的偏移量為0,內容為“hive spark hive hbase”
第二行的偏移量為21,內容為“hadoop hive spark”
第三行的偏移量為39,內容為“sqoop flume scala”

Map
輸入
MapReduce處理的數據是從HDFS中讀出來的
以偏移量為key,內容value,則存在:
(0,“hive spark hive hbase”)
(21,“hadoop hive spark”)
(39,“sqoop flume scala”)
輸出
將輸入的value中的詞以空格為分割逐個取出來做key,1做value存起來
(hive,1)
(spark,1)
(hive,1)
(hbase,1)
(hadoop,1)
注意:有多少行,Map就要循環做幾次
shuffle(之后會詳細說,這里簡單解釋)
輸入
map的輸出
輸出
相同的key的value進行合并
這里合并不是進行累加或別的運算,而是合并到一個集合中
(hive,[1,1,1])
(spark,[1,1])
(hbase,[1])
(hadoop,[1])
。。。。。。
reduce
輸入
shuffle的輸出
輸出
根據業務將value進行合并
例如當前的業務就會將value進行累加
MapReduce處理數據五步走
整個MapReduce程序,所有數據以(key,value)形式流動

第一步:input
正常情況下不需要寫代碼
僅僅在MapReduce程序運行的時候指定一個路徑即可

第二步:map(核心)
map(key,value,output,context)
key:每行數據的偏移量——基本沒用
value:每行數據的內容——真正需要處理的內容

第三步:shuffle
不需要寫代碼

第四步:reduce(核心)
reduce(key,value,output,context)
key:業務需求中的key
value:要聚合的值

第五步:output
正常情況下不需要寫代碼
僅僅在MapReduce程序運行的時候指定一個路徑即可

工作原理
這里寫圖片描述

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家港市| 陇南市| 石林| 阳西县| 肥乡县| 甘南县| 漯河市| 辉县市| 鹿泉市| 图木舒克市| 曲沃县| 镇沅| 双桥区| 岳阳县| 七台河市| 邮箱| 仁布县| 遂平县| 顺义区| 凤冈县| 绍兴市| 三穗县| 临泽县| 临江市| 通山县| 临桂县| 西吉县| 贡山| 尉犁县| 江城| 阿尔山市| 焦作市| 义马市| 湘潭县| 巴东县| 苍山县| 三明市| 江阴市| 罗城| 香格里拉县| 石渠县|