스팍에 대한 간단한 개념과 장점 소개
조대협 (http://bcho.tistory.com)
스팍의 개념과 주요 기능
요즘 주변에서 아파치 스팍을 공부하는 사람도 많고, 스팍을 기반으로한 Zeppelin을 이용하여 데이타 분석을 하는 경우도 많아서, 오늘부터 다시 Spark을 들여다 보기 시작했습니다.
스팍은 예전에도 몇번 관심을 가진적이 있는데, Storm과 같은 데이타 스트리밍 프레임웍에서 Storm과 같이 언급 되기도 하고, 머신 러닝 프레임웍을 볼때도 스팍 ML 라이브러리 기능이 언급 되기도 하고, 예전 모 회사의 데이타 분석 아키텍쳐를 보니, 카산드라에 저장된 데이타를 스팍/Shark라는 프레임웍으로 분석을 하더군요. 또 누구는 메모리 기반의 하둡이라고도 합니다.
스팍의 정의를 내려보면 한마디로
범용적 목적의 분산 고성능 클러스터링 플랫폼 (General purpose high performance distributed platform)
입니다 말이 정말 길고 모호한데, 달리 설명할만한 단어가 없습니다.
스팍은 범용 분산 플랫폼입니다. 하둡과 같이 Map & Reduce 만 돌리는 것도 아니고, Storm 과 같이 스트리밍 처리만 하는게 아니라, 그냥 분산된 여러대의 노드에서 연산을 할 수 있게 해주는 범용 분산 클러스터링 플랫폼으로, 이 위에, Map & Reduce나, 스트리밍 처리등의 모듈을 추가 올려서 그 기능을 수행하게 하는 기능을 제공합니다.
특히나, 메모리 하둡이라고도 불리는데, 이 스팍은 기존의 하둡이 MR(aka. Map & Reduce) 작업을 디스크 기반으로 수행하기 때문에 느려지는 성능을 메모리 기반으로 옮겨서 고속화 하고자 하는데서 출발하였습니다.
그 플랫폼 위에 SQL 기반으로 쿼리를 할 수 있는 기능이나, 스트리밍 기능등등을 확장하여 현재의 스팍과 같은 모습을 가지게 되었습니다.
스팍의 주요 기능은 앞에서 언급하였듯이
- Map & Reduce (cf. Hadoop)
- Streaming 데이타 핸들링 (cf. Apache Storm)
- SQL 기반의 데이타 쿼리 (cf. Hadoop의 Hive)
- 머신 러닝 라이브러리 (cf. Apache Mahout)
'빅데이타 & 머신러닝 > 스트리밍 데이타 처리' 카테고리의 다른 글
Apache Spark 클러스터 구조 (0) | 2015.05.18 |
---|---|
Apache Spark 설치 하기 (0) | 2015.05.18 |
Apache Storm을 이용한 실시간 데이타 처리 #6 –Storm 그룹핑 개념 이해하기 (0) | 2015.01.29 |
Apache Storm을 이용한 실시간 데이타 처리 #5 –Storm의 병렬/분산 처리 (0) | 2015.01.25 |
Apache Storm을 이용한 실시간 데이타 처리 #4 –소개와 기본 개념 (2) | 2015.01.25 |