본문 바로가기
빅데이터

[PySpark] Spark 구성 컴포넌트

by 너굴맨_ 2022. 3. 8.

* 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

댓글