기록하는 습관

Spark, Hadoop 본문

개발/Research

Spark, Hadoop

로그뉴 2022. 7. 12. 15:53

Hadoop

  • 2006년 4월, 아파치에서 발표한 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크
  • map 함수가 모두 종료해야 reduce 함수가 실행됨. → 실시간 처리는 힘듦.
    • map: 전체 데이터를 작은 단위로 나눈 청크에 대해 수행할 로직
    • reduce: 처리된 데이터를 병합하는 과정
  • map 함수의 결과가 디스크에 저장되고, 그걸 reduce 함수가 다시 읽어와야 합니다. 이것이 주는 성능상의 손실이 큼
  • 따라서, 빅데이터 기반의 배치성 통계작업에 주로 사용됨.
  • 맵리듀스 잡(작업)의 결과물은 hdfs에 저장해야만 하는데 hdfs는 분산파일시스템이기 때문에 저장과 로드에 상당한 비용(시간/자원소모)이 듦.

 

 

  • 요약
    • 저장은 HDFS에 저장하고,
    • 분석작업은 맵리듀스를 통해 수행하고,
    • 이러한 작업들이 사용하는 자원의 관리는 YARN이 맡는다.

 

참고

 

Spark

  • 2009년 발표, MapReduce 기능에서 Map함수가 전부 종료되지 않았더라도 Map의 결과를 스트리밍하는 방식
  • 하둡과 다르게 데이터를 디스크가 아닌 메모리에 저장한다.
    • 작업이 끝나면 이를 RDD라는 분산 메모리에 저장 
    • 인메모리 데이터 엔진을 통해 초기 맵리듀스의 성능상 한계를 크게 극복
  • 실제로 Spark의 성능은 Hadoop의 10배에 달하는 속도 우위를 보임

 

참고

 

 

 

'개발 > Research' 카테고리의 다른 글

Mybatis vs. JPA  (0) 2022.07.12
Java  (0) 2022.07.12
offset, cursor 기반 pagination  (0) 2022.07.12
lock 오픈소스 (ShedLock, dLock)  (0) 2022.07.12
AWS lambda (s3)  (0) 2022.07.12
Comments