Patrick's 데이터 세상

Apache Spark 기본 이론 본문

Data Analysis/Spark

Apache Spark 기본 이론

patrick610 2020. 10. 26. 23:36
반응형
SMALL

 

 

Apache Spark

일반적으로 하둡 프레임워크는 맵리듀스를 기반에 두고 있는데 확장이 가능하고, 유연성과 내결함성, 효율적인 컴퓨팅이 가능하기 때문에 데이터 세트를 분석하기 위해 Hadoop을 광범위하게 활용하고 있습니다.

스파크는 하둡 컴퓨팅 소프트웨어 프로세스(쿼리 간 대기시간과 프로그램 실행 대기시간 측면에서 대용량 데이터셋 처리속도)를 개선하기 위해 도입되었습니다.

(In-Memory에서 처리, 분산 병렬처리로 100배 이상 빠르다고 한다.)

 

 

 

 

Apache Spark는 코어 프로그래밍에서부터 SQL을 지원하는 Spark SQL, 실시간 데이터 처리를 지원하는 Spark Streaming, 머신러닝 기법을 지원하는 MLlib, 대용량 데이터의 분산 및 병렬 그래프 처리를 지원하는 GraphX로 나뉜다.

 

  • 인프라 계층 : 먼저 스파크가 기동하기 위한 인프라는 스파크가 독립적으로 기동할 수 있는 Standalone Scheudler가 있고 (그냥 스팍만 OS위에 깔아서 사용한다고 생각하면 된다). 또는 하둡 종합 플랫폼인 YARN 위에서 기동될 수 있고 또는 Docker 가상화 플랫폼인 Mesos 위에서 기동될 수 있다.
  • 스파크 코어 : 메모리 기반의 분산 클러스터 컴퓨팅 환경인 Spark Core가 그 위에 올라간다. 
  • 스파크 라이브러리  : 다음으로는 이 스파크 코어를 이용하여 특정한 기능에 목적이 맞추어진 각각의 라이브러리가 돌아간다. 빅데이타를 SQL로 핸들링할 수 있게 해주는 Spark SQL, 실시간으로 들어오는 데이타에 대한 리얼타임 스트리밍 처리를 해주는 Spark Streaming, 그리고 머신러닝을 위한 MLib, 그래프 데이타 프로세싱이 가능한 GraphX가 있다.

 

 

클러스터 구조

 

여러 컴퓨터의 구조를 하나로 사용하는 구조.

마스터 서버(노드)가 여러 개의 슬레이브 서버(노드)를 관리해주는 구조인데 Spark도 해당 구조이다.

 

 

 

 

⊙ 스파크 클러스트는 왼편 SparkContext는 드라이브 프로그램으로 마스터 역할을 하고 Worker Node들이 슬레이브 역할을 한다.

 클러스트 매니저는 리소스들을 매니징하며 스파크 컨텍스트와 익스큐터들과 통신을 하면서 각자 할당받은 메모리를 관리해준다.

 클러스터 매니저는 Standalone, Mesos, Yarn이 있다.

모든 클러스터는 JVM에서 동작한다.

 

 

 

 

참고

https://spark.apache.org/

 

Apache Spark™ - Unified Analytics Engine for Big Data

Ease of Use Write applications quickly in Java, Scala, Python, R, and SQL. Spark offers over 80 high-level operators that make it easy to build parallel apps. And you can use it interactively from the Scala, Python, R, and SQL shells.

spark.apache.org

https://bcho.tistory.com/1026

 

Apache Spark 소개 - 스파크 스택 구조

Spark의 전체적인 스택 구조 조대협 (http://bcho.tistory.com) 스파크의  전체적인 스택 구조를 보면 다음과 같다. 인프라 계층 : 먼저 스파크가 기동하기 위한 인프라는 스파크가 독립적으로 기동할

bcho.tistory.com

 

반응형
LIST

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

Spark RDD 실습  (0) 2020.11.05
Spark RDD  (0) 2020.11.04
Spark Standalone 실행  (0) 2020.11.04
Comments