반응형

tungsten 이란?

Spark 의 Tungsten은 성능 향상을 위해 설계된 엔진으로, 텅스텐 엔진이라고도 불립니다. 이 엔진은 여러 최적화 기술을 결합하여 스파크의 처리 속도와 메모리 효율성을 향상시킵니다.

  • 텅스텐 엔진은 객체를 이진수로 인코딩하여 메모리에서 직접 참조하는 방식을 사용합니다.
  • 오프-힙 할당과 온-힙 할당 두 가지 메모리 관리 모드를 지원하며, 오프-힙 모드는 Unsafe 클래스를 사용해 직접 메모리를 할당하고 해제합니다.
  • 온-힙 모드는 이진수로 인코딩한 객체를 JVM이 관리하는 배열에 저장하고, 오프-힙 모드는 스파크가 배열을 직접 관리합니다.
  • 오프-힙 모드는 기본으로 비활성화되어 있지만, spark.unsafe.offHeap 환경 매개변수를 true로 설정하여 활성화 가능합니다.
  • 이진수로 인코딩된 객체는 적은 메모리를 차지하며, 텅스텐 엔진은 CPU의 캐시를 효율적으로 활용하는 다양한 기법을 사용합니다.
반응형

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

[Spark]Spark 디렉토리와 파일들  (0) 2024.01.09
[Spark]Spark 사용 예시  (0) 2024.01.09
[Spark]Spark executor 이란?  (0) 2024.01.07
[Spark]Spark Cluster Manager 이란?  (0) 2024.01.07
[Spark]SparkSession 이란?  (0) 2024.01.07
반응형

Spark executor 이란?

  • 클러스터의 각 워커 노드에서 동작합니다.
  • 드라이버 프로그램과 통신하며 워커에서 테스크를 실행합니다.
  • 대부분의 배포 모드에서 노드당 하나의 이그제큐터만이 실행됩니다.
반응형

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

[Spark]Spark 사용 예시  (0) 2024.01.09
[Spark]tungsten 이란?  (0) 2024.01.07
[Spark]Spark Cluster Manager 이란?  (0) 2024.01.07
[Spark]SparkSession 이란?  (0) 2024.01.07
[Spark]Spark 드라이버란?  (0) 2024.01.07
반응형

Spark Cluster Manager 이란?

  • Spark 애플리케이션이 실행되는 클러스터에서 자원을 관리 및 할당하는 책임을 가지고 있습니다.
  • 현재 Spark 는 네 종류의 Cluster manager 를 지원합니다. 내장 단독(standalone) cluster manager, 아파치 하둡 얀(Yarn), 아파치 메소스(mesos), Kubernetes 입니다.
반응형

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

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

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

+ Recent posts