2015.12.14

하둡과 아파치 스파크에 대해 알아야 할 5가지

Katherine Noyes | IDG News Service
빅데이터 영역에서 이 둘은 때로는 경쟁자이기도 하지만 이 둘은 함께 함으로써 성장한다는 데 의견이 일치한다. 빅데이터에 대한 얘기를 들어보면 하둡이나 아파치 스파크가 빠지는 경우는 거의 없다. 이들이 하는 역할과 비교하는 방법에 대해 간단히 설명해본다.

1. 하둡과 스파크는 다른 일을 한다
하둡과 아파치 스파크는 둘다 빅데이터 프레임워크다. 그러나 이들은 추구하는 목적이 다르다.

하둡은 근본적으로 분산 데이터 인프라스트럭처로, 범용화된 서버의 클러스터와 함께 다양한 노드에서 대량의 데이터 컬렉션을 배포한다. 이는 더이상 값비싼 하드웨어를 구매하고 유지하는 것이 필요하지 않다는 것을 의미한다. 또한 하둡은 데이터에 대해 색인하고 계속 유지하면서 이전에 가능했던 처리, 분석보다 좀더 효과적으로 빅데이터 처리와 분석을 할 수 있게 한다.

반면 스파크는 분산된 데이터 컬렉션에서 실행하는 데이터 처리 툴이지 분산 스토리지가 아니다.

2. 둘은 각각 사용할 수 있다
이 둘은 하나가 없어도 다른 하나를 사용할 수 있다. 하둡은 HDFS(Hadoop Distributed File System)라고 알려진 스토리지 요소뿐만 아니라 맵리듀스(MapReduce)라고 부르는 데이터 처리 요소도 갖고 있다. 그래서 하둡은 데이터 처리 과정에서 스파크를 필요로 하지 않는다.

반대로 하둡이 없어도 스파크를 사용할 수 있다. 스파크는 자체 파일 관리 시스템을 갖고 있지 않지만 HDFS가 아니더라도 다른 클라우드 기반의 분산 데이터 플랫폼이면 사용할 수 있다. 그러나 하나로 통합하는 것이 필요하다.

다만 스파크는 하둡을 위해 설계됐기 때문에 둘이 함께 하면 더 좋다는 것에는 많은 이들이 동의한다.

3. 스파크는 빠르다
일반적으로 아파치 스파크는 맵리듀스보다 빠르다. 맵리듀스는 단계별로 실행하는 반면, 스파트는 전체 데이터셋에서 단번에 데이터를 처리하는 방법이기 때문이다.

부즈 알렌 해밀턴(Booz Allen Hamilton) 수석 데이터 사이언티스트 커크 본은 "맵리듀스 워크플로우는 클러스터에서 데이터를 읽고 실행하고, 클러스터에서 결과값을 쓰고, 업데이트된 데이터를 읽고, 다시 실행하고 다시 클러스터에서 결과값을 쓰는... 이런 것에 대해서는 좋아 보인다"고 설명했다.

반면 스파크는 인메모리에서 전체 데이터 분석을 거의 실시간에 가깝게 실행하는데, 클러스터에서 데이터 읽기, 분석 실행에 필요한 모든 것을 한번에 이행하고, 클러스터에서 결과를 쓰고 끝낸다. 본은 "스파크는 배치 처리 작업에 있어서 맵리듀스보다 10배정도 빠르며 인메모리 분석에서 100배나 빠르다"고 말했다.

4. 스파크의 빠른 속도가 필요치 않을 수도 있다
모든 이들이 빠른 속도의 스파크가 필요한 것은 아니다. 자신의 데이터 실행과 보고서 요구 사항이 대부분 정형화된 것이거나 배치 모드 처리를 기다릴 수 있는 시간이 있다면 맵리듀스의 프로세싱은 좋은 선택지가 될 수 있다.

그러나 만약 작업 현장 센서와 같은 스트리밍 데이터를 분석하거나 복합적인 실행이 필요한 애플리케이션을 갖고 있다면 아마도 스파크를 원할 것이다.

예를 들어, 대부분 머신러닝 알고리즘은 복합적 실행을 요구한다. 스파크에서 사용할만한 일반 애플리케이션들은 실시간 마케팅 캠페인, 온라인 제품 추천, 사이버보안 분석, 그리고 머신 로그 모니터링 등이 있다.

5. 고장 회복(Failure recovery)
고장 회복은 어렵지만 여전히 좋은 기능이다. 하둡은 데이터가 디스크에 쓰여진 이후 시스템 고장이나 실패로부터 자연적으로 회복력이 있는 반면에 스파크는 소위 RDD(Resilient Distributed Datasets)라 부르는 회복력 있는 분산 데이터 셋 개념으로, 유사한 회복력을 내장하고 있다는 것이 강점이다.

본은 "이 데이터 객체는 인메모리나 디스크에 저장할 수 있으며 RDD는 고장 또는 실패로부터 완전한 회복을 제공한다"고 말했다. editor@itworld.co.kr


2015.12.14

하둡과 아파치 스파크에 대해 알아야 할 5가지

Katherine Noyes | IDG News Service
빅데이터 영역에서 이 둘은 때로는 경쟁자이기도 하지만 이 둘은 함께 함으로써 성장한다는 데 의견이 일치한다. 빅데이터에 대한 얘기를 들어보면 하둡이나 아파치 스파크가 빠지는 경우는 거의 없다. 이들이 하는 역할과 비교하는 방법에 대해 간단히 설명해본다.

1. 하둡과 스파크는 다른 일을 한다
하둡과 아파치 스파크는 둘다 빅데이터 프레임워크다. 그러나 이들은 추구하는 목적이 다르다.

하둡은 근본적으로 분산 데이터 인프라스트럭처로, 범용화된 서버의 클러스터와 함께 다양한 노드에서 대량의 데이터 컬렉션을 배포한다. 이는 더이상 값비싼 하드웨어를 구매하고 유지하는 것이 필요하지 않다는 것을 의미한다. 또한 하둡은 데이터에 대해 색인하고 계속 유지하면서 이전에 가능했던 처리, 분석보다 좀더 효과적으로 빅데이터 처리와 분석을 할 수 있게 한다.

반면 스파크는 분산된 데이터 컬렉션에서 실행하는 데이터 처리 툴이지 분산 스토리지가 아니다.

2. 둘은 각각 사용할 수 있다
이 둘은 하나가 없어도 다른 하나를 사용할 수 있다. 하둡은 HDFS(Hadoop Distributed File System)라고 알려진 스토리지 요소뿐만 아니라 맵리듀스(MapReduce)라고 부르는 데이터 처리 요소도 갖고 있다. 그래서 하둡은 데이터 처리 과정에서 스파크를 필요로 하지 않는다.

반대로 하둡이 없어도 스파크를 사용할 수 있다. 스파크는 자체 파일 관리 시스템을 갖고 있지 않지만 HDFS가 아니더라도 다른 클라우드 기반의 분산 데이터 플랫폼이면 사용할 수 있다. 그러나 하나로 통합하는 것이 필요하다.

다만 스파크는 하둡을 위해 설계됐기 때문에 둘이 함께 하면 더 좋다는 것에는 많은 이들이 동의한다.

3. 스파크는 빠르다
일반적으로 아파치 스파크는 맵리듀스보다 빠르다. 맵리듀스는 단계별로 실행하는 반면, 스파트는 전체 데이터셋에서 단번에 데이터를 처리하는 방법이기 때문이다.

부즈 알렌 해밀턴(Booz Allen Hamilton) 수석 데이터 사이언티스트 커크 본은 "맵리듀스 워크플로우는 클러스터에서 데이터를 읽고 실행하고, 클러스터에서 결과값을 쓰고, 업데이트된 데이터를 읽고, 다시 실행하고 다시 클러스터에서 결과값을 쓰는... 이런 것에 대해서는 좋아 보인다"고 설명했다.

반면 스파크는 인메모리에서 전체 데이터 분석을 거의 실시간에 가깝게 실행하는데, 클러스터에서 데이터 읽기, 분석 실행에 필요한 모든 것을 한번에 이행하고, 클러스터에서 결과를 쓰고 끝낸다. 본은 "스파크는 배치 처리 작업에 있어서 맵리듀스보다 10배정도 빠르며 인메모리 분석에서 100배나 빠르다"고 말했다.

4. 스파크의 빠른 속도가 필요치 않을 수도 있다
모든 이들이 빠른 속도의 스파크가 필요한 것은 아니다. 자신의 데이터 실행과 보고서 요구 사항이 대부분 정형화된 것이거나 배치 모드 처리를 기다릴 수 있는 시간이 있다면 맵리듀스의 프로세싱은 좋은 선택지가 될 수 있다.

그러나 만약 작업 현장 센서와 같은 스트리밍 데이터를 분석하거나 복합적인 실행이 필요한 애플리케이션을 갖고 있다면 아마도 스파크를 원할 것이다.

예를 들어, 대부분 머신러닝 알고리즘은 복합적 실행을 요구한다. 스파크에서 사용할만한 일반 애플리케이션들은 실시간 마케팅 캠페인, 온라인 제품 추천, 사이버보안 분석, 그리고 머신 로그 모니터링 등이 있다.

5. 고장 회복(Failure recovery)
고장 회복은 어렵지만 여전히 좋은 기능이다. 하둡은 데이터가 디스크에 쓰여진 이후 시스템 고장이나 실패로부터 자연적으로 회복력이 있는 반면에 스파크는 소위 RDD(Resilient Distributed Datasets)라 부르는 회복력 있는 분산 데이터 셋 개념으로, 유사한 회복력을 내장하고 있다는 것이 강점이다.

본은 "이 데이터 객체는 인메모리나 디스크에 저장할 수 있으며 RDD는 고장 또는 실패로부터 완전한 회복을 제공한다"고 말했다. editor@itworld.co.kr


X