* Spark 구성 컴포넌트
스파크는 여러 특수한 목적에 맞게 설계된 다양한 컴포넌트로 구성. 다양한 컴포넌트는 스파크를 여러 기능이 집약된 통합 플랫폼으로 발전시켰다.
- Spark 코어
- Spark SQL
- Spark Streaming
- Spark GraphXL
- Spark MLlib
1. Spark Core
Spark Core는 스파크 잡과 다른 스파크 컴포넌트에 필요한 기본 기능을 제공한다. 분산 작업 디스패치, 스케줄링 및 기본 I/O 기능, 네트워킹, 보안 등 을 제공하며 SPark API 핵심 요소 RDD라는 분산 데이터 컬렉션(즉 데이터셋)을 사용한다.
- RDD란?
Spark에서 가장 핵심적인 요소로 분산 데이터 컬렉션 즉 추상화 객체로 데이터셋에 적용할 수 있는 연산 및 변환 메서드를 함께 제공한다. 또한 노드에 장애가 발생해도 데이터셋을 재구성할 수 있는 복원력을 갖췄다.
※ RDD는 2가지 방법으로 생성이 가능한데 하나는 외부 스토리지 시스템의 데이터 세트를 참조하는 것이고 두 번째는 기존 RDD에 변환(예: 맵, 필터, 리듀서, 조인)을 적용하는 것이다.
2. Spark SQL
- 스파크와 Hive QL이 지원하는 SQL을 사용해 대규모 분산 정형 데이터 처리를 위한 모듈.
- Spark SQL 인터페이스는 데이터와 수행되는 컴퓨팅 과정과 관련한 구조 정보를 제공한다.
3. Spark Streaming
다양한 데이터 소스에서 유입되는 실시간 스트리밍 데이터를 처리하는 프레임워크
- 지원하는 스트리밍 소스로는 HDFS, Kafka, Flume, Twitter, ZeroMQ가 있으며 이외에도 커스텀 데이터 소스도 정의 가능하다.
- 장애가 발생할 경우 연산 결과를 자동으로 복구한다.
- 이산 스트림 방식으로 스트리밍 데이터를 표현하며 가장 마지막 타임에는 유입된 데이터를 RDD로 구성해 주기적으로 생성한다.
- 다른 스파크 컴포넌트를 단일 프로그램에서 사용가능해 실시간 처리 연산과 머신러닝, SQL 연산, 그래프 연산등을 통합할 수 있다.
4. Spark MLlib
머신 러닝 알고리즘 라이브러리로 Logistic Regression, Naive Bayes Classification, SVM, Decision Tree, Random Forest, Linear Regression, K-means 등 다양한 러닝 머신 알고리즘을 지원한다.
5. Spark GraphX
그래프 RDD 형태의 그래프 구조를 만들 수 있는 다양한 기능을 제공한다. 그래프 이론에 중요한 알고리즘이 구현되어 있다. ex)페이지 랭크, 연결 요소, 최단 경로 탐색, SVD++ 등
Reference
페타 제체비치, 마르코 보나치. 2018. 스파크를 다루는 기술. 길벗
https://book.naver.com/bookdb/book_detail.nhn?bid=13603036
스파크를 다루는 기술 Spark in Action
스파크의 방대한 내용을 고르고 깊게 다룬다! 철두철미하면서 상냥한 스파크 활용 가이드!이 책은 스파크를 이해하고 활용하는 데 필요한 중요 내용을 빠짐없이 다룬다. 1부에서 스파크와 스파
book.naver.com
'빅데이터' 카테고리의 다른 글
[PySpark] PostgreSQL 연동하기 (4) | 2022.03.22 |
---|---|
[PySpark] Spark 핵심 DataSource (0) | 2022.03.09 |
[PySpark] Spark 란? (0) | 2022.03.07 |
Yolov5를 이용한 TFT 챔피언 인식하기 (0) | 2022.02.18 |
API를 활용한 챗봇 만들기 (0) | 2022.02.07 |
댓글