Hadoop
- High-Availability Distributed Object-Oriented Platform
- 대용량 자료를 처리할 수 있는 클러스터에 동작하는 분산 응용 프로그램
- 구굴의 분산 시스템 (GFS)를 바탕으로 만들어진 오픈소스
Module
- Hadoop Common
- Hadoop HDFS
- Hadoop Yarn
- Hadoop MapReduce
HDFS (Hadoop Distributed File System)
- 분산 확장 파일 시스템
- 여러 기계에 대용량 파일들을 나눠서 저장을 한다.
- 다음과 같은 시스템에서 잘 동작하는 것을 목표
- 하드웨어 오동작
- 스트리밍 자료 접근
- 큰 자료 집합
- 간단한 결합 모델
- 한번 쓰고 여러번 읽는 모델에 적합한 구조
- 자료를 옮기는 것보다 계산 작업을 옮기는 것이 비용이 적게 된다.
- 다른 종류의 하드웨어와 소프트웨어 플랫폼과의 호환성
- 네임노드와 데이터노드
- Master/Salve구조
- HDFS는 하나의 노드네임과, 파일 시스템을 관리, 접근을 통해하는 마스터 서버, 데이터 노드
- 하나의 파일은 내부적으로는 하나 이상으로 블록으로 나누워져 있고 이 블록은 데이터 노드에 저장이 되어있다.
- 네임노드는 파일, 디렉터리의 읽기, 닫기, 이름 바꾸기 등 파일시스템의 기능을 수행
- 데이터노드는 read, write 기능을 담당
MapReduce
- 분산 병렬 컴퓨팅을 처리하기 위한 목적으로 발표된 프레임워크
- 페타바이트 이상의 대용량을 신뢰도가 낮은 컴퓨터로 구성된 클러스터 환경에서 병렬 처리를 하기 위해 개발이 되어 있다.
- Map 함수과 Reduce 함수 기반으로 구성이 되어이있다.
- Map
- 데이터의 변환
- Reduce
- 데이터의 collect
- 재귀적인 자료 구조를 분석하고, 전달받은 결합된 명령을 사용하여 재결합하여, 재귀적으로 수행된 그결과들로 반환값을 만들어 낸다.
'빅데이터 처리' 카테고리의 다른 글
Hive Data Type (0) | 2019.01.30 |
---|---|
Hive with 구문 Example (0) | 2019.01.15 |
Apache Hive (0) | 2018.07.15 |