지구정복

[Spark] Spark 개념, 구성요소, 아키텍처 본문

데이터 엔지니어링 정복/Spark

[Spark] Spark 개념, 구성요소, 아키텍처

eeaarrtthh 2021. 5. 10. 11:21
728x90
반응형

1. 개념

더보기

하이브는 복잡한 맵리듀스를 하이브 QL(Query Language)로 래핑해 접근성을 높일 수 있었지만 맵리듀스 코어를 그대로 사용함으로써 성능면에서는 만족스럽지 못했다. 그로 인해 대화형 연산 작업에서는 하이브가 적합하지 않았다. 이러한 단점을 극복하기 위해 만들어진 것이 Spark이다.

 


2. 구성요소

더보기

 

-Spark RDD : 스파크 프로그래밍의 기초 데이터 모델. 가장 중요. 스파크가 데이터를 로드해서 RDD구조 만들고 이 RDD 구조로 만들어진 데이터를 변환하느냐 혹은 얼마나 잘 사용하느냐가 스파크에서 가장 중요한 기술이다.

 

-Spark Driver / Executors : Driver는 RDD프로그램을 분산 노드에서 실행하기 위한 Task의 구성, 할당, 계획 등을 수립하고, Executors는 Task를 실행 관리하며, 분산 노드의 스토리지 및 메모리를 참조한다.

 

-Spark Cluster Manager : 스파크 실행 환경을 구성하는 클러스터 관리자로 Memos, YARN, Spark Standalon이 있다.

 

-Spark SQL : SQL 방식으로 스파크 RDD프로그래밍을 지원

 

-Spark Streaming : 스트리밍 데이터를 마이크로타임의 배치로 나누어 실시간 처리

 

-Spark MLib : 스파크에서 머신러닝 프로그래밍(군집, 분류, 추천 등)을 지원

 

-Spark GraphX : 다양한 유형의 네트워크(SNS, 하이퍼링크 등) 구조 분석을 지원

 

 


3. 아키텍처

더보기

 

 

 

 

 

 

 

 

출처 : 실무로 배우는 빅데이터 기술 - 위키북스

 

728x90
반응형
Comments