關於hive,mapreduce,hadoop講解

2021-09-19 14:32:46 字數 1845 閱讀 3101

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 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...