반응형

SparkSession 이란?

  • 모든 Spark 연산과 데이터에 통합 연결이 되어 있습니다.
  • 연결 채널을 통해 JVM 실행 파라미터들을 만들고 데이터 프레임 또는 데이터 세트를 정의하고, 데이터 소스에서 데이터를 읽어오고, 메타 데이터에 접근하고, 스파크 SQL 질의를 실행할 수 있습니다.
  • SparkSession 은 모든 Spark 기능을 한 군데에서 접근할 수 있는 시작점을 제공합니다.
반응형

'Data engineer > Apache Spark' 카테고리의 다른 글

[Spark]Spark executor 이란?  (0) 2024.01.07
[Spark]Spark Cluster Manager 이란?  (0) 2024.01.07
[Spark]Spark 드라이버란?  (0) 2024.01.07
[Spark]Spark 애플리케이션 이란?  (0) 2024.01.07
[Spark]GraphX  (0) 2024.01.07
반응형

Spark 드라이버란?

  • SparkSession 객체를 초기화 해줍니다.
  • 클러스터 매니저와 통신하며 스파크 이그제큐터들을 위해 필요한 자원(CPU, Memory 등)을 요청하고 모든 스파크 작업을 DAG 연산 형태로 변환하고 스케줄링하며 각 실행 단위를 태스크로 나누어 스파크 이그제큐터들에게 분배해줍니다. 자원이 할당되면 Spark 드라이버는 이그제큐터와 직접 통신합니다.
반응형
반응형

Spark 애플리케이션 이란?

Spark 애플리케이션은 Spark 클러스터의 병렬 작업들을 조율하는 하나의 드라이버 프로그램으로 이루어져 있습니다.

 

드라이버란?

드라이버는 SparkSession 객체를 통해 클러스터의 분산 컴포넌트들(Spark 이그제큐터와 클러스터 매니저)에 접근합니다.

-> Spark 애플리케이션 안에 Spark 드라이버가 SparkSession 을 통해 Spark 이그제큐터와 클러스터 매니저에 접근)

반응형
반응형

GraphX

  • 그래프 처리를 위한 라이브러리로(네트워크 망 구성 그래프, 친구 관계 그래프 등), 그래프 병렬 연산을 수행을 도와줍니다.
반응형
반응형

Spark 정형화 스트리밍(Structured Streaming)

  • 실시간 데이터 스트림 처리를 위한 라이브러리로, 구조화된 데이터를 다루면서 스트리밍 처리를 할 수 있도록 도와줍니다.
반응형

'Data engineer > Apache Spark' 카테고리의 다른 글

[Spark]Spark 애플리케이션 이란?  (0) 2024.01.07
[Spark]GraphX  (0) 2024.01.07
[Spark]Spark MLlib(Machine Learning Library)  (0) 2024.01.07
[Spark]Spark SQL 이란?  (0) 2024.01.07
[Spark]Spark 특성 4가지  (1) 2024.01.07
반응형

Spark MLlib(Machine Learning Library)

  • 머신러닝 알고리즘과 유틸리티 기능을 제공하는 라이브러리로, 분류, 회귀, 군집화 등의 머신러닝 작업을 지원합니다.
  • Spark 1.6 을 시작으로 MLlib 은 spark.mllib 과 spark.xml 로 분리 되었습니다.
    • spark.mllib 은 RDD 베이스이며 유지보수 상태입니다.
    • spark.xml 은 데이터 프레임 기반 API 입니다. 모든 새로운 기능은 spark.xml 로 업데이트 되고 있습니다.
  • MLlib API 는 특성을 추출하고 변형하고 파이프라인을 구축하고 배포하는 동안 모델을 보존해줍니다.
반응형
반응형

Spark SQL 이란?

  • 구조화된 데이터와 잘 작동하며, 구조화된 데이터에 대한 분산 쿼리 및 데이터 처리를 제공하는 라이브러리입니다.
  • RDBMS 테이블, 구조화된 데이터의 파일 모팻에서 데이터를 읽어 그 데이터로 스파크에 영구적이거나 임시적인 테이블을 SQL 문을 사용하여 데이터에 쉽게 접근할 수 있도록 합니다.

 

반응형
반응형

Spark 특성 4가지

Spark 특성으로는 4가지가 있습니다. 속도, 사용 편의성, 모듈성, 그리고 확장성이 있습니다.

 

 

속도

  • Spark 는 질의 연산을 방향성 비순환 그래프(directed acyclic graph, Dag)로 구성합니다.
  • Dag 의 스케줄러와 질의 최적화 모듈은 효율적인 연산 그래프를 만들어서 각가의 태스크로 분해하여 클러스터의 워커 노드 위에서 병렬 수행될 수 있도록 해줍니다.
  • Spark 는 물리적 실행 엔진인 Tungsten(텅스텐) 의 전체적 코드 생성(whole-stage code generation) 이라는 방법을 사용하여 간결한 코드를 생성합니다.
  • Spak 는 디스크 I/O 를 제한적으로 사용하여 성능이 크게 향상시켰습니다.

*방향성 비순환 그래프(directed acyclic graph, Dag)

https://infoinhere.tistory.com/118

 

사용 편의성

  • RDD 를 제공하여 편한 언어로 빅데이터 애플리케이션을 만들 수 있도록 해줍니다.

 

모듈성

  • api 로 이루어진 통합 라이브러리를 제공합니다.
  • 컴포넌트로는 스파크 SQL, 스파크 정형화 스트리밍, 스파크 MLlib, GraphX 가 있습니다.

 

확장성

  • Spark 는 저장보다는 빠른 병렬 연산 엔진에 집중되어 있습니다. 저장과 연산을 모두 포함하는 Apache Hadoop 과 달리 저장과 연산을 분리했습니다.
  • Spark DataFrameReader 와 DataFrameWriter 는 kafka, Kinesis, Azure, AWS S3 등의 데이터 소스에서 데이터를 읽어와 논리적인 데이터 추상화 레벨에서 처리하도록 확장이 가능합니다.
  •  
반응형

+ Recent posts