MapReduce ?
Hadoop ์์คํ ์์ ๋ถ์ฐ ์ฒ๋ฆฌ ์ํํ๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ
- Map, Reduce์ 2๊ฐ์ phase๋ก ๊ตฌ์ฑ
- key, value ํํ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฉ์ปค๋์ฆ
- Map ๋จ๊ณ์์ ๋ฐ์ดํฐ๋ฅผ key, value ์์ผ๋ก ๋ณํ
- Reduce ๋จ๊ณ์์ key, value๋ก ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๊ณ ์ต์ข ๋ฐ์ดํฐ๋ฅผ ๊ฒฐ์
MapReduce ๋์ ์์
- Input : ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๋ ๋จ๊ณ
- Split : ์๋ณธ ๋ฐ์ดํฐ๋ฅผ HDFS๋ก ๋ณํํ๋ ๋จ๊ณ
- Map : ๋ฐ์ดํฐ๋ฅผ key, value ๊ธฐ๋ฐ์ผ๋ก ์ฐ์ฐํ๋ ๋จ๊ณ
- Shuffle : key๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์๋ก ํฉ์ด์ก๋ ๋ฐ์ดํฐ๋ฅผ hashingํ๋ ๋จ๊ณ
- Reduce : Map์์ ์ฐ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ key๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ์ฐํ๋ ๋จ๊ณ
- Merge : ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ์ทจํฉํ๊ณ ์ถ๋ ฅํ๋ ๋จ๊ณ
Map, Shuffle, Reduce ๋จ๊ณ์์์ ๋ฐ์ดํฐ ์ด๋ ๊ณผ์
- Map ๋จ๊ณ์์ ์ฉ๋ ๋จ์๋ก ๋ถํ ๋ ๋ฐ์ดํฐ๋ฅผ ์์์ ๋ ธ๋์์ ์ฐ์ฐ์ ์ํ
- Shuffle์ ํตํด key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ฐ์ key์ ๊ฐ์ ๊ฐ์ Reducer๋ก ๋ฐ์ดํฐ๊ฐ ์ด๋
- ๊ฐ์ key๊ฐ์ ๋ฐ์ดํฐ๋ ๊ฐ์ Reducer๋ก ์ด๋ํ๊ฒ ๋จ
์์ปค ๋ ธ๋ ์์์ MapReduce ๋์ ๋ฐฉ๋ฒ
- ๊ฐ ๋ ธ๋์ Split ๋งํผ Map์ ๊ฐ์๊ฐ ๊ฒฐ์ ๋จ
- Reduce๋ ์ฌ์ฉ์๊ฐ ์ค์ ํ ๊ฐ์๋งํผ ์ค์ ํจ
- ๊ฐ ๋ ธ๋์ ์ฌ๋ฌ Map๊ณผ Reduce๊ฐ ์กด์ฌํ ์ ์์
- Map๊ณผ Reduce๋ ์ ํด Container๋ฅผ ๋ง๋ ๊ตฌ๋๋จ
'software engineering > ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BigData] Spark ๋ฐ์ดํฐ ์ฒ๋ฆฌ, RDD (0) | 2024.01.06 |
---|---|
[BigData] Spark(์คํํฌ) (0) | 2024.01.05 |
[BigData] Hadoop ํ๋ก (1) | 2024.01.05 |
[BigData] HDFS (Hadoop File System) (1) | 2024.01.03 |
[BigData] ๋ถ์ฐ ํ์ผ ์์คํ (1) | 2024.01.03 |