mapreduce知識
1.什麼是mapreduce?特點?
mapreduce分為map端和reduce端
map端對映,reduce端歸約
mapreduce是分布式計算框架,用於處理海量資料
特點:易於程式設計,
高擴充套件適合海量資料的處理
有良好的容錯性
2.maptask和reducetask的區別?
maptask解析資料通過map方法寫入磁碟
reducetask通過複製map端的資料進行歸約,寫出磁碟
3.hadoop的自帶輔助類
tool,toolrunner,configured
4.mapreduce的執行流程?
1.定義乙個資料為300m(儲存預設按照塊儲存,大小128m)
2.300m分為3塊,block01,block02,block03,分別為128m,128m,44m.每乙個分塊對應乙個切片:split01,split02,split03.
(塊:儲存資料,物理上的
切片:邏輯上的切片
切片大小預設塊大小。)
3.在切片的過程中涉及到檔案輸入(fileinputformat)
1.獲取檔案列表
2.獲取檔案的位置
3.獲取分片的位置
4.每乙個切片對應乙個maptask: maptask01,maptask02,maptask03,
5.以乙個maptask為,切牌你之後執行mao()方法
6.map輸入資料到環形記憶體緩衝區,預設的小100m,閾值0.8,達到80溢寫
7.從map到記憶體環形去涉及到分割槽partitioner
分割槽決定map輸出的資料由哪乙個reduce來處理,分割槽的數量必須和reduce的數量保持一致。
8.map階段溢寫了三個檔案分別是:map_temp_01。。。。
map 溢寫:
1.sort排序(key預設按照字典排序)
2.合併(combiner合併 資料按照key合併,不一定會發生)
3.檔案合併(merge多個檔案合併)
4.壓縮(如果設定則會發生)
9.將溢寫的3個檔案merge合併程兩個檔案:map_res_01map_res_01,map_res_02.
merge合併的三種方式:
1.記憶體到記憶體
2.磁碟到記憶體
3.磁碟到磁碟
10.reduce copy(遠端拉取)到環形記憶體緩衝區達到閾值溢寫。(reduce copy遠端拉取資料,單獨起乙個執行緒。)
11.reduce 端的溢寫,溢寫3個檔案 分別是:local_temp_01,local_temp_02,local_temp_03
reduce端溢寫:
1.sort排序(預設字典排序)
2.分組(相同key的value放到集合乙個容器中)
3.檔案的合併
4.壓縮(如果設定則發生)
13.將溢寫的3個檔案mergr合併兩個
14最終結果落地到hdfs
5.mapreduce的基本資料型別?
booleanwritable
intwritable
floatwritable
doublewritable
longwritbale
text
nullwritable
6.mapreduce的setup和cleanup的區別?
setup:預處理,載入檔案,分布式快取
cleanup:一次性輸出
關於程式關於世界
首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...
關於血液關於軟體
1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...
關於冷漠,關於愛情
我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...