아파치 스파크
(Apache Spark)란?
개요 - 1
 In memory 기반의 고속 데이터 처리엔진, 기존 하둡(Hadoop)이 MR(Map &
Reduce) 작업을 디스크 기반으로 수행하기에 느리 부분을 메모리 기반으로 작
업함으로서 성능을 극대화
 범용적인 분산 환경의 고성능 클러스터링 플랫폼
 자바, 파이썬, 스칼라, R등을 기반으로 구동
 MR(Map & Reduce), 스트리밍 기반의 데이터 처리, 하둡의 하이브(Hive)처럼
SQL기반 데이터 처리, 머신 러닝 라이브러리, 유틸리티 등을 제공
개요 - 2
 기존 데이터 분석 방식
 데이터 추출(ETL)
 하둡 Map & Reduce를 통한 데이터 필터링, 정재
 OLAP을 통한 리포팅, 통계분석
 기본 데이터 분석을 위해서는 여러 플랫폼이 필요했지만 아파치 스파크는 통
합해서 지원, 단일시스템에서 배치/스트리밍 처리, SQL/머신러닝, 그래프 프
로세싱등을 지원.
 데이터 저장 및 활용을 위한 HDFS, 카산드라, HBase, 아마존 S3등 지원
 Apache Spark는 Scala를 기반으로 구현되었지만 자바, 파이썬 등의 언어를 지
원하며 관련 SDK를 포함하고 있다.
개요 - 3
 스톰(Storm)과 유사한 실시간 데이터 프로세싱을 지원.
 하둡의 클러스터 위에서도 실행 가능하며 카산드라와 같은 하둡의 데이터 소
스에 접근 가능
 아파치 스파크의 잠재적인 경쟁자로는 구글의 “빔”이 있다.빔은 실시간, 배치
등의 데이터 처리 엔진을 단일 프로그래밍 모델로 처리할 수 있게 하는 프레임
워크다.
스파크 구성요소
Spark Core
Spark
SQL/SHark
Spark
Streaming
MLib GraphX
Standalone Scheduler YARN Mesos
인프라 계층
스파크 라이브러리
스파크 구성 요소 – 인프라 계층(STANDALONE
SCHEDULER, YARN, MESOS)
 스파크가 독립적으로 기동할 수 있는 Standalone Scheduler
 하둡의 종합 플랫폼인 YARN위에서도 기동 가능
 Docker 가상화 플랫폼인 Mesos 위에서 기동
스파크 구성 요소 – SPARK LIBRARY(1)
 Spark SQL : 구조적 데이터(Structured Data)와 반구조적(SemiStructured
Data) 를 다룰 수 있으며 다양한 데이터 유형 처리 가능, SQL 을 사용한 쿼리,
RDD 와 SQL Table 을 Join 하는 기능을 포함하여 기존 코드(spark-core)와 통
합이 가능하다.
 Spark Streaming : Real-Time으로 데이터를 받아 특정 작업을 고성능적으로
처리,스스로 오류를 발견할 수 있다. RDD 에 제공되는 Operation 과 시간 기반
의 Operation 을 제공한다.
스파크 구성 요소 – SPARK LIBRARY(2)
 Spark SQL : 구조적 데이터(Structured Data)와 반구조적(SemiStructured
Data) 를 다룰 수 있으며 다양한 데이터 유형 처리 가능, SQL 을 사용한 쿼리,
RDD 와 SQL Table 을 Join 하는 기능을 포함하여 기존 코드(spark-core)와 통
합이 가능하다.
 Spark Streaming : Real-Time으로 데이터를 받아 특정 작업을 고성능적으로
처리,스스로 오류를 발견할 수 있다. RDD 에 제공되는 Operation 과 시간 기반
의 Operation 을 제공한다.
스파크 구성 요소 – SPARK LIBRARY(4)
 Mlib: 머신러닝 라이브러리, 머신러닝을 위해 만들어짐. 분류, 회귀, 클러스터
링, 필터링과 같은 일반적인 머신러닝 알고리즘과 함께 특징을 추출, 변형, 차
원 감소 및 선택을 위한 도구, ML 파이프라인 구축과 평가, 튜닝을 위한 도구
를 제공하며 알고리즘과 모델 및 파이프라인의 저장/로드, 데이터 처리, 선형
대수학과 통계학 수행을 위한 유틸리티도 포함되어 있다.
 GraphX: Scala, Java 그리고 Python을 위한 High Level API를 제공하는
DataFrame에 기반한 Graph를 제공해주는 Apache Spark를 위한 패키지

(Apacje Spark)아파치 스파크 개요, 소개, 스파크란?

  • 1.
  • 2.
    개요 - 1 In memory 기반의 고속 데이터 처리엔진, 기존 하둡(Hadoop)이 MR(Map & Reduce) 작업을 디스크 기반으로 수행하기에 느리 부분을 메모리 기반으로 작 업함으로서 성능을 극대화  범용적인 분산 환경의 고성능 클러스터링 플랫폼  자바, 파이썬, 스칼라, R등을 기반으로 구동  MR(Map & Reduce), 스트리밍 기반의 데이터 처리, 하둡의 하이브(Hive)처럼 SQL기반 데이터 처리, 머신 러닝 라이브러리, 유틸리티 등을 제공
  • 3.
    개요 - 2 기존 데이터 분석 방식  데이터 추출(ETL)  하둡 Map & Reduce를 통한 데이터 필터링, 정재  OLAP을 통한 리포팅, 통계분석  기본 데이터 분석을 위해서는 여러 플랫폼이 필요했지만 아파치 스파크는 통 합해서 지원, 단일시스템에서 배치/스트리밍 처리, SQL/머신러닝, 그래프 프 로세싱등을 지원.  데이터 저장 및 활용을 위한 HDFS, 카산드라, HBase, 아마존 S3등 지원  Apache Spark는 Scala를 기반으로 구현되었지만 자바, 파이썬 등의 언어를 지 원하며 관련 SDK를 포함하고 있다.
  • 4.
    개요 - 3 스톰(Storm)과 유사한 실시간 데이터 프로세싱을 지원.  하둡의 클러스터 위에서도 실행 가능하며 카산드라와 같은 하둡의 데이터 소 스에 접근 가능  아파치 스파크의 잠재적인 경쟁자로는 구글의 “빔”이 있다.빔은 실시간, 배치 등의 데이터 처리 엔진을 단일 프로그래밍 모델로 처리할 수 있게 하는 프레임 워크다.
  • 5.
    스파크 구성요소 Spark Core Spark SQL/SHark Spark Streaming MLibGraphX Standalone Scheduler YARN Mesos 인프라 계층 스파크 라이브러리
  • 6.
    스파크 구성 요소– 인프라 계층(STANDALONE SCHEDULER, YARN, MESOS)  스파크가 독립적으로 기동할 수 있는 Standalone Scheduler  하둡의 종합 플랫폼인 YARN위에서도 기동 가능  Docker 가상화 플랫폼인 Mesos 위에서 기동
  • 7.
    스파크 구성 요소– SPARK LIBRARY(1)  Spark SQL : 구조적 데이터(Structured Data)와 반구조적(SemiStructured Data) 를 다룰 수 있으며 다양한 데이터 유형 처리 가능, SQL 을 사용한 쿼리, RDD 와 SQL Table 을 Join 하는 기능을 포함하여 기존 코드(spark-core)와 통 합이 가능하다.  Spark Streaming : Real-Time으로 데이터를 받아 특정 작업을 고성능적으로 처리,스스로 오류를 발견할 수 있다. RDD 에 제공되는 Operation 과 시간 기반 의 Operation 을 제공한다.
  • 8.
    스파크 구성 요소– SPARK LIBRARY(2)  Spark SQL : 구조적 데이터(Structured Data)와 반구조적(SemiStructured Data) 를 다룰 수 있으며 다양한 데이터 유형 처리 가능, SQL 을 사용한 쿼리, RDD 와 SQL Table 을 Join 하는 기능을 포함하여 기존 코드(spark-core)와 통 합이 가능하다.  Spark Streaming : Real-Time으로 데이터를 받아 특정 작업을 고성능적으로 처리,스스로 오류를 발견할 수 있다. RDD 에 제공되는 Operation 과 시간 기반 의 Operation 을 제공한다.
  • 9.
    스파크 구성 요소– SPARK LIBRARY(4)  Mlib: 머신러닝 라이브러리, 머신러닝을 위해 만들어짐. 분류, 회귀, 클러스터 링, 필터링과 같은 일반적인 머신러닝 알고리즘과 함께 특징을 추출, 변형, 차 원 감소 및 선택을 위한 도구, ML 파이프라인 구축과 평가, 튜닝을 위한 도구 를 제공하며 알고리즘과 모델 및 파이프라인의 저장/로드, 데이터 처리, 선형 대수학과 통계학 수행을 위한 유틸리티도 포함되어 있다.  GraphX: Scala, Java 그리고 Python을 위한 High Level API를 제공하는 DataFrame에 기반한 Graph를 제공해주는 Apache Spark를 위한 패키지