본문 바로가기

좋아하는 것_매직IT/16.Spark

2.아파치 스파크(Apache Spark)란 무엇일까?

반응형

목표

- 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.

- 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기

- 나는 블로그 생태계에서 IT 기술/부동산학/민법/주식 교육 관련 파워블로거및 인플루언서가 반드시 된다!

목표를 이루기 위한 실천방안

- 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.

- 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.

- "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."

- 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)

- 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.

- 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.


블로그 목적

고속 범용 분산 컴퓨팅 플랫폼인 아파치 스파크에 대해서 공부한 내용을 정리및 공유한다.

우선, 아파치 스파크(Apache Spark) 에 대해서 알아보자.

한마디로, 아파치 스파크는 고속 범용 분산 컴퓨팅 플랫폼이다.

홈페이지 : https://spark.apache.org/

스파크의 설계자

UC 버클리 AMPLab

마테이 자하리아

이온 스토이카

그리고 레이놀드 신

패트릭 웬델

앤디 콘윈스키

알리 고시

추후, 데이터브릭스(Databricks)를 창업함.

https://databricks.com/

 

그리고, 데이터브릭스 클라우드(Databricks Cloud) 라는 스파크 기반의 빅데이터 분석 솔루션을 상용화함.

그럼, 아파치 스파크의 특징을 알아볼까?

하둡 맵리듀스(Hadoop MapReduce)를 대체하는 흥미롭고 새로운 빅데이터 처리 지원

잠깐!) 아파치 하둡(Apache Hadoop) 에 대해서 잠시 알아보자.

홈페이지

https://hadoop.apache.org/

하둡은 분산 컴퓨팅용 자바 기반 오픈소스 프레임워크

구성은 아래와 같음.

하둡 분산 파일 시스템(Hadoop Dstributed File System, HDFS)

맵리듀스 처리 엔진

스파크의 유사성은

범용 분산 컴퓨팅 플랫폼이라는 점.

but, 스파크는 메모리를 효율적으로 활용하여, 하둡 맵리듀스보다 10~100 배 더 빠른 속도를 가짐.

사용자가 클러스터를 다루고 있다는 사실을 인지할 필요가 없도록, 설계된 컬렉션 기반의 API 를 제공함.

그럼, 스파크의 강점은 ?

스파크 컬렉션은 여러 노드에 분산된 데이터를 참조함.

즉, 사용자가 스파크 컬렉션에 적용한 연산은 복잡한 병렬 프로그램으로 자동 변환됨.

해당 과정을 사용자가 굳이 알 필요가 없다는 것이 강점임.

스파크에서는 데이터 처리작업에 적합한 함수형 프로그래밍 방식을 사용할 수 있음.

그럼, 아파치 스파크의 주요 기능도 알아보자.

일괄처리기능

실시간 데이터 처리 기능

SQL과 유사한 정형 데이터 처리기능

그래프 알고리즘

머신러닝 알고리즘

기타 등등,

모두를 단일 프레임워크와 통합함.

즉, 빅데이터 어플리케이션에 필요한 대부분의 요구사항을 만족시킬 수 있음을 의미함.

그럼, 스파크의 단점도 있지않을까?

하나, 분산 아키텍처 때문에 처리 시간에 약간의 오버헤드가 필연적으로 발생함.

대량의 데이터를 다룰 때는 오버헤드가 무시할 수준

but, 단일 머신에서도 충분히 처리할 수 있는 데이터 셋을 다룰 때는 작은 데이터셋에 최적화된 다른 프레임워크를 사용하는게 더 효율적이라고 함.

둘, 온라인트랜잭션처리(OLTP, OnLine Transaction Processing) 어플리케이션을 염두에 두고 설계되지 않음.

다시말해서, 대량의 원자성 트랜잭션을 빠르게 처리해야 하는 작업에는 스파크가 적합하지 않음.

but, 일괄 처리 작업 or 데이터 마이닝같은 온라인분석처리(OLAP, OnLine Analytical Processing) 작업에 최적화 되어 있음.

그럼, 스파크가 지원하는 언어는 무엇이 있을까?

파이썬

자바

스칼라

R

기타 등등.

마지막으로, 스파크의 핵심에 대해서 파헤쳐보자.

맵리듀스처럼 잡에 필요한 데이터를 디스크에서 매번 가져오는 대신, 데이터를 메모리에 캐시로 저장하는 인-메모리 실행 모델이다라는 점은 꼭 머리에 넣어두자 ^^! (즉, 빠르다 라는 것!)

보통 스파크는 동일한 작업을 맵리듀스보다 최대 100배 더 빠르게 실행할 수 있다고 함.

참고페이지

https://amplab.cs.berkeley.edu/wp-content/uploads/2013/02/shark_sigmod2013.pdf

여기서 잠깐!) shark 는 무엇일까?

Shark is an open source Hadoop project that uses the Apache Spark advanced execution engine to accelerate SQL-like queries.

즉, Shark는 Apache Spark 고급 실행 엔진을 사용하여 SQL과 유사한 쿼리를 가속화하는 오픈 소스 Hadoop 프로젝트임.

스파크의 성능을 입증했던 적도 있었다.

2014년 10월에 열린 데이토나 그레이 정렬 대회에서 스파크는 100TB 를 1406초 만에 정렬하는 세계신기록을 세움

참고페이지

http://sortbenchmark.org/

 

맷음말

아파치 스파크(Apache Spark)는 고속 범용 분산 컴퓨팅 플랫폼임.

아파치 스파크는 하둡 맵리듀스(Hadoop MapReduce)를 대체하는 흥미롭고 새로운 빅데이터 처리 지원함.

빅데이터 어플리케이션에 필요한 대부분의 요구사항을 만족시킴.

스파크의 단점은

하나, 분산 아키텍처 때문에 처리 시간에 약간의 오버헤드가 필연적으로 발생함.

둘, 온라인트랜잭션처리(OLTP, OnLine Transaction Processing) 어플리케이션을 염두에 두고 설계되지 않음.

스파크의 핵심은 맵리듀스처럼 잡에 필요한 데이터를 디스크에서 매번 가져오는 대신, 데이터를 메모리에 캐시로 저장하는 인-메모리 실행 모델이다라는 점

꼭! 머리에 넣어두자 ^^

오늘도 아파치 스파크에 대해서 개념하나 머리속에 저장 완료! 감사합니다. ^^


 

오늘의 영어 한마디

This is form must be handed in with you proposal.

이 서식은 / 제출되어야 한다. / 제안서와 함께

설명

"form" 은 서식을 의미함.

"hand in~" 은 "~을 제출하다" 라는 의미.


오늘의 민법 한마디

제1편 총칙 / 제7장 소멸시효

제162조(채권, 재산권의 소멸시효)

1. 채권은 10년간 행사하지 아니하면 소멸시효가 완성한다.

2. 채권 및 소유권 이외의 재산권은 20년간 행사하지 아니하면 소멸시효가 완성한다.


오늘의 재무제표 한마디

선입선출법

재고자산의 원가 계산방법 중 하나.

재고자산이 출고될 때 장부상 먼저 입고된 것으로 되어있는 상품부터 출고된 것으로 간주하는 방법

한마디로 먼저 들어온 물건이 먼저 팔린 것으로 치는 방법

실제로는 어떤 순서로 출고되건 상관없다. 다만 장부상의 기록일 뿐.

300x250