1. Hadoop 과 Spark의 유사점

 

Hadoop 과 Spark는 모두 대규모 데이터를 처리 할 수 있는 분산 시스템

두 시스템 모두 Fault tolerance가 보장되있는데 Hadoop은 하나 이상의 데이터 처리 노드에 장애가 발생하더라도 복사본을 여러 개 만들어 놓았기에 다른 노드에서 정보를 검색하여 데이터 처리를 준비.

반면, Spark는 RDD라는 특수한 데이터 처리기술을 사용. RDD를 사용하여 스토리지에서 특정 정보를 검색하는 방법을 기억하고 기반 스토리지에 장애가 발생할 경우 데이터를 재구성 할 수 있음

 

2. 주요 구성 요소

 

Hadoop 

- HDFS은 여러 컴퓨터에 대용량 데이터 세트를 저장하는 특수 파일 시스템

- YARN은 작업을 예약하고 Hadoop에서 실행되는 어플리케이션에 리소스를 할당

- Map Reduce를 통해 작업을 여러서버에서 병렬로 실행

 

Spark

- Spark Core는 Apache Spark의 기본 기능을 조정 ( 메모리 관리, 데이터 스토리지, 작업 스케줄링 데이터 처리)

- Spark SQL을 사용하면 Spark의 분산 스토리지에서 데이터 처리 가능

- Spark Streaming은 Spark가 데이터를 작고 연속적인 블록으로 나누어 데이터를 효율적으로 실시간 스트리밍 가능

 

3. 주요 차이점

 

- 아키텍처

Hadoop은 HDFS를 기반으로 대용량 데이터를 여러개의 작고 균일한 블록으로 나누어 서버에 저장

반면 Spark는 자체 네이티브 파일 시스템이 없음. Hadoop의 파일 시스템에서 Spark를 실행하여 데이터를 저장, 관리 또는 다양한 데이터베이스 시스템을 사용하기도 함

 

- 성능

Hadoop은 대용량 데이터 세트를 배치 단위로 처리 하지만 속도가 느린 편. 각 처리 단계에서 외부 스토리지에 데이터를 다시 쓰므로 지연 시간이 늘어나 실시간 처리 작업에는 적합하지 않음.

반면 Spark는 엄청난 양의 데이터를 실시간으로 처리하도록 설계. Spark는 외부 스토리지에서 데이터에 엑세스하지 않고, 데이터를 처리하기 전에 RAM에 복사함. 특정 작업을 완료한 후에만 데이터를 외부 스토리지에 다시 씀.

따라서 Spark는 단순한 데이터 처리 또는 복잡한 데이터 처리 모두에서 다양한 수준으로 Hadoop보다 더 나은 성능 발휘

 

- 확장성

Hadoop은 Spark 보다 더 손쉽게 확장 가능. 더 많은 처리 능력이 필요한 경우 Hadoop에 노드나 컴퓨터를 추가 할 수 있음.

반면 Spark는 확장하려면 RAM에 더 많은 투자 필요. 온프레미스 인프라의 경우 비용이 빠르게 증가할 수 있음.

 

- 비용

Hadoop은 데이터를 저장하고 처리하는데 하드 디스크를 사용하므로 훨씬 저렴

반면 Spark는 인 메모리 처리에 RAM을 사용하므로 빅 데이터를 처리하는데 비용이 많이 듬.

 

'Hadoop' 카테고리의 다른 글

[Hadoop] What is Pig?  (4) 2024.09.30
YARN vs Multi Node Kubernetes  (3) 2024.06.27
[Hadoop] What is HDFS ?  (0) 2024.06.01
[Hadoop] How to install Hadoop in GCP?  (0) 2023.07.17
[Hadoop] What is map reduce?!  (0) 2023.03.14

+ Recent posts