- 하둡(Hadoop)은 HDFS(Hadoop Distributed FileSystem)이라는 분산 데이터 저장과 빅데이터 처리 방식인 MapReduce 방식으로 이루어져 있다. 하둡은 HDFS을 파일 시스템으로 두고 MapReduce이 연산 엔진이며 Yarn으로 리소스를 관리한다.
- 맵리듀스(MapReduce)는 여러 노드에 task를 분배하는 방법으로 각 프로세스 데이터는 가능한 경우 해당 노드에 저장된다. 맵리듀스는 맵(Map)과 리듀스(Reduce)로 구성된다. Map은 분할, Reduce는 병합이라고 생각하면 된다.
예를 들어 Map은 큰 작업을 64MB단위 블럭으로 분할하여 각 블럭에 대한 연산을 한다. 이후 Map을 수행한 각각의 블럭의 결과 정보를 합치는 작업이 Reduce이다.
- HDFS에서 수행되는 MapReduce 작업이 끝나면 HDFS에 파일이 write되고, MapReduce 작업이 시작될 때는 HDFS로 부터 파일을 가져오는 작업이 수행된다.
- 하둡의 MapReduce는 스파크(Spark)와 자주 비교된다. 둘의 가장 큰 차이는 하둡은 디스크로부터 map/reduce할 데이터를 불러오고 처리 결과를 디스크에 쓰며, 스파크는 메모리로부터 map/reduce할 데이터를 불러오고 처리 결과를 메모리에 쓴다. 스파크는 메모리가 커버 가능한 만큼의 데이터라면 하둡 MapReduce 보다 최대 100배 빠르다.
- 하둡을 단점을 수정하여 이용하는 여러 서브 프로젝트들의 모임을 하둡 에코시스템 이라고 한다.
ref)
'Hadoop' 카테고리의 다른 글
Spark Dataframe Tips (0) | 2023.03.23 |
---|---|
Hadoop Ecosystem 정리 #2 (Spark) (0) | 2023.01.10 |
Apache Spark 환경 설정 (0) | 2022.12.26 |