# [정보처리기사 필기공부] 빅데이터

- Author: @mildsalmon
- Published: 2021-04-25
- Updated: 2021-04-25
- Source: http://blex.me/@mildsalmon/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%ED%95%84%EA%B8%B0%EA%B3%B5%EB%B6%80-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0
- Tags: 정보처리기사, 필기, 빅데이터

---

# 1. 맵/리듀스 (Map/Reduce)

대용량 데이터를 신뢰도가 낮은 컴퓨터로 구성된 클러스터 환경에서 병렬 처리를 지원하기 위해서 개발됨

거대한 인풋 데이터를 쪼개어 수 많은 머신들에게 분산시켜서 로직을 수행한 다음 결과를 하나로 합치자는 것이 핵심 아이디어

- MR
- 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작한 소프트웨어 프레임워크
- 함수형 프로그래밍에서 일반적으로 사용되는 Map, Reduce라는 함수 기반으로 주로 구성된다.
- Java, C++, 기타 언어에서 적용이 가능
- 아파치 하둡에서 오픈 소스 소프트웨어로 적용되었다.

### 쪼개기 (Split)

- 크기가 큰 인풋 파일을 작은 단위의 청크들로 나누어 분산 파일 시스템에 저장한다

##### 청크

- Chunk
    - 덩어리, 상당한 양, 덩어리로 나누다

![](https://static.blex.me/images/content/2021/4/25/8_TRQb2Oy05LK5gMoXfizS.png)

### 맵 (Map)

- 데이터를 담아두는 자료 구조 중의 하나
- 키와 벨류라는 두 개의 쌍으로 가지고 있는 형태

![](https://static.blex.me/images/content/2021/4/25/8_Mg6XswBQ5mtM09WR8N5q.png)

### 리듀스 (Reduce)

- 맵을 정리해 나가는(줄여나가는) 방법
- 키를 기준으로
    - (같은 키 값을 가진 맵들의) 개수를 센다거나.
    - 같은 키를 기준으로 벨류를 모두 더하거나
    - 평균을 내거나하는 것

![](https://static.blex.me/images/content/2021/4/25/8_QNLhUMp4R8vkHy5Pk1TX.png)

# 2. 빅데이터 처리 과정

- 생성 → 수집 → 저장 → 처리 → 분석 → 표현
