본문 바로가기
Development/Data Engineering

[Apache Spark] 아파치 스파크 배경, 그리고 이해

by _KHK 2022. 3. 22.

빅 데이터를 다루기 위해 만들어진 아파치 스파크

아파치 스파크의 배경, 이해

아파치 스파크는

"빅데이터 분산 처리 엔진"

혹은

"빅데이터 오픈소스 분산 처리 플랫폼"

구체적으로는

"인메모리 기반 대용량 데이터 고속 처리 엔진으로 범용 분산 클러스터 컴퓨팅 프레임워크"

이렇게 이해되고 있다.

 

 

처음 빅데이터의 개념이 등장했을때

빅데이터 처리는 분산형 파일 시스템을 기반으로 만들어진 하둡(HDFS) 에코시스템이 대세를 이루었다.

그러나 현재는 빅데이터 처리를 실시간으로 필요한 서비스가 늘어나면서 DISK I/O 기반인 하둡이 아닌 인 메모리상에 동작하는 Spark가 주목받기 시작했고, 이제는 빅데이터에서 없어서는 안될 중요한 프레임워크가 되었다.

디스크 블록에서 처리하는게 아닌 인메모리상에서 동작하는 스파크는 하둡 맵 리듀스보다 100배 이상의 속도를 낸다고 알려져 있다.  

최근에는 실시간 서비스 스트리밍 분석에서는 스파크를 사용한 실시간 데이터 처리, 그리고 그렇지 않은 빅데이터 처리는 하둡을 이용해 두 서비스를 함께 이용하는것이 대세로 보인다.

 

 

스파크의 특징

  • 인메모리 기반의 빠른 처리
  • 다양한 언어 지원(자바, 스칼라, 파이썬, R, SQL)
  • SQL, 스트리밍, 머신러닝, 그래프 연산등 다양한 컴포넌트 제공
  • YARN, Mesos, Kubernetes 등 다양한 클러스터에서 동작 가능
  • HDFS, Cansandra, HBase 등 다양한 파일 포맷 지원

 

스파크의 컴포넌트 구성

이미지 출처 : https://wikidocs.net/26513

 

 

 

* 게시글 참고 링크

https://artist-developer.tistory.com/7

https://wikidocs.net/26513

https://cloud.google.com/learn/what-is-apache-spark?hl=ko 

댓글