NCE 자격증 이론정리 68편- Analytics 분야 -Spark 핵심요약
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,310 조회
- 0 추천
- 목록
본문
Spark 핵심요약
-빅데이터 처리 프레임워크로서 Hadoop의
한계
.첫째, 디스크에 읽고 쓰는
방식으로 데이터처리속도 문제 발생
.둘째, 반복처리 작업 수행시 나오는 중간 결과물도 디스크에 읽기/쓰기를 반복하는 문제가 있어
반복 처리하는 iteration 작업에 적합하지 않음
.셋째, 동일 데이터에 대한
작업이더라도 서로 다른 연산을 수행하면, 매번 읽기를 수행함
.넷째, 분석작업을 오랜시간 동안 수행했는데 중간에 시스템이 멈추면 다시 처음부터 시작해야 하는 문제 발생
-하둡은 디스크처리시스템이기 때문에 맵리듀스 과정에서 여러 번의 디스크 I/O발생으로 성능저하 가져옴
-실시간 데이터 처리에는 비효율적임
-이러한 이유로 Spark가 등장하게 됨
-Hadoop의 서브프로젝트
-애플리케이션의 처리속도를 높이는 인메모리(In-memory) 클러스터 컴퓨팅
-기존의 Hadoop에 비해 디스크 읽기/쓰기 작업을 줄임으로써 데이터 처리 속도를 높임
-실시간 데이터 처리 효율을 높임
-Java, Python, Scala를 통해 작업 가능
-구성요소로는 맵리듀스 뿐만 아니라 SQL쿼리, 스트리밍 데이터, ML및 그래프 알고리즘 지원
-Spark 구성요소
.Spark
Core
.Spark
SQL
.Spark
Streaming
.MLlib, GraphX
Spark RDD
.Resilient Distributed Datasets
.스파크에서 사용되는 기본 데이터 구조
.스파크 내에 저장되는 데이터
.immutable : 변경불가는ㅇ 객체
.Partitioned : 각각의 RDD는 여러 개의 파티션으로 분리
.Lineage : RDD 연산의 순서를 기록(DAG로 표현한 것)
.변경을 위해서는 새로운 RDD 만들어야
한다.
.Lazy Evaluation으로 액션하는
시점에 처리
.Transformation : 기존의
RDD 데이터를 변경하여 새로운 RDD데이터를 생성
.Action : RDD 값을 기반으로 연산을 통해 결과를
생성하는 것
.JAVA, Scala의 객체를 처리하는 방식
-Spark의 장점
.인메모리 기반의 데이터 처리로 빠름
.어플리케이션 형태의 빅데이터 통합환경을 제공
S/W라이센스 비요없이 대용량 데이터를
처리하기 위한 가장 가성비 뛰어난 솔루션
대용량/데이터처리(NoSQL, Kafka)오픈소스 에코시스템을 대용량 repository로써
지원
.오픈소스 기반 대용량 데이터 처리의 중심 솔루션으로 확장
.Scala 긱반으로 작성되어 있음.
.어플리케이션 코드로는 java, python 를 지원
관련자료
-
이전
-
다음