Apache Hadoop
date
Mar 12, 2024
slug
apache-hadoop
status
Published
tags
Tool
PL & Compiler
summary
type
Post
ํจ์ํ ์ธ์ด ์ฐ์ฑ
- p200 ~ 205, p215 ~ 216
hadoop-mapreduce-project - Grep.java
์์ ์ฝ๋ ์ค ํ๋์ธ
Grep.java
๋ฅผ ๋ณด๋ฉด grepJob
, sortJob
์ด๋ผ๋ 2๊ฐ์ Job์ ๋ง๋ค์ด์ ์์ฐจ์ ์ผ๋ก ์คํํ๊ณ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ Job์์๋ Mapper
, Combiner
, Reducer
, SortComparator
์ ๊ตฌํ ํด๋์ค๋ฅผ ์ง์ ํ๊ณ ์๋ค. ๋งต๋ฆฌ๋์ค๋ ํ๋ ์์ํฌ์ด๊ธฐ ๋๋ฌธ์ ์๊ตฌํ๋ ์ต์ํ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์์์ ๋์๊ฐ๋ค.RegexMapper.java
์๊ตฌํ๋ ์ฝ๋๊ฐ ๋ฌด์์ธ์ง ์์ ๋ฅผ ํตํด ํ์ธํ ์ ์๋ค.
Mapper๋ Reducer์๊ฒ ์ ๊ท์ ํจํด์ ๋ถํฉํ๋ ๋ฌธ์์ด๊ณผ 1์ด๋ผ๋ ๊ฐ์ output์ ํตํด ๋ด๋ณด๋ธ๋ค.
LongSumReducer.java
Mapper๋ก๋ถํฐ ๋ฐ์ key์ values์ ๊ฐ์ ๋ํด์ (key, sum) ํํ๋ก output์ ๋๊ธฐ๊ณ ์๋ค.
์์ ๊ฐ์ด ํ๋ก ๋งต๋ฆฌ๋์ค๋ ์ฌ๋ฌ ๋จธ์ ์ ๋ถ์ฐ ์ ์ฅ๋ ๋ฆฌ์คํธ์ ๋ํด
map
, reduce
๋ฅผ ์ํํ๋ ํ๋ ์์ํฌ์ด๋ค.๋งต๋ฆฌ๋์ค ํ๋ ์์ํฌ์ ๋์ ๊ณผ์
์์ ๊ฐ์ ๋ฐ์ดํฐ์ ๋จ์ด๋ค์ ์นด์ดํธํ๋ค๊ณ ํ์ ๋ Mapper์ ๊ฐ ๋จธ์ ๋ณ๋ก ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณต๋ฐฑ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐ ํ ๋ฆฌ์คํธ๋ก ๋ฐํํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค. โ ์ด๋ (ํค, ๊ฐ) ํ์์ผ๋ก ๋ฐํํ๋ค.
์์ฑ๋ (ํค, ๊ฐ) ํํ์ ๋ฆฌ์คํธ๋ ํค๋ณ๋ก ๋ฌถ์ฌ์ Reducer๋ก ์ ๋ฌ๋๋ค.
๋ง์ง๋ง์ผ๋ก Reducer๋ ์ ๋ฌ ๋ฐ์ (ํค, ๊ฐ) ๋ฆฌ์คํธ๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ต์ข
๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
๋งต๋ฆฌ๋์ค ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ธฐ ์ํด ๊ธฐ์ตํด์ผ ๋ ํต์ฌ ํฌ์ธํธ
- ๋ก์ปฌ์์ ์คํํ ๋๋ ๋งคํผ๊ฐ ํ์ผ ๊ฐ์๋งํผ ์์ฑ๋๋ค.
- ๊ฐ ํ์ผ์ ๋ฐ์ดํฐ๊ฐ ๋งคํผ์๊ฒ ํ ์ค ๋จ์๋ก ์ ๋ฌ๋๋ค.
- ๋งคํผ ํด๋์ค๋ฅผ ์์ฑํ ๋๋ ์ ๋ฌ๋ ํ ์ค์ ๋ฐ์ดํฐ์ ๋ํ ๋ณํ๋ง ๊ธฐ์ ํ๋ฉด ๋๋ฉฐ, ๋ณต์์ (ํค, ๊ฐ)์ ๋ฐฉ์ถํ๋๋ก ์์ฑํ๋ค.
- ๋งคํผ๊ฐ ๋ฐฉ์ถํ (ํค, ๊ฐ) ์์ ํค๋ณ๋ก ๊ฐ์ด ๋ฌถ์ฌ์ ๋ฆฌ๋์์๊ฒ ์ ๋ฌ๋๋ค.
- ๋ฆฌ๋์๋ ์ ๋ฌ๋ ํค์ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ต์ข ๊ฒฐ๊ณผ๋ก ๋ณํํ๋ค.
- ๋งคํผ์ ๋ฆฌ๋์๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋๋
setup()
๊ณผ ์ข ๋ฃ๋ ๋ ํธ์ถ๋๋cleanup()
์ ์ ํ์ฉํ๋ค. - ์๋ฅผ ๋ค์ด ๊ฐ์ฅ ํฐ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ ์ถ์ ๋ ๋งค๋ฒ ๋ณด๋ผ ํ์ ์์ด ๊ณ์ ์
๋ฐ์ดํธ ํ๋ค๊ฐ
cleanup()
์ผ๋ก ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ด๋ฉด ๋๋ค.