스팍에 대한 간단한 개념과 장점 소개
조대협 (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 Spark이 왜 인기가 있을까? (7) | 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 |
댓글을 달아 주세요
scala로 구현 되어 있어요. 오타시죠?
아니요. 자바인줄 알았어요. ㅜㅜ
수정하였습니다. 감사합니다.
"예를 들어 기존의 빅데이타 분석 플랫폼의 구현 구조를 보면, 배치 분석시 ETL 등을 써서 데이타를 로딩한 후에, Hadoop의 MR을 이용하여 데이타를 정재한후, 이 데이타를 OLAP 등의 데이타 베이스에 넣은 후에, 리포팅 툴로 그래프로 표현했습니다." 궁금한 부분이, 빅데이터 분석 플래폼의 구현구조가 위와 같다고 하셨는데, 그럼 많은 기업들이 기존의 DW architecture인 (ETL-DW-OLAP-Reporting) 를 그대로 사용하면서 정제(Transformation?)부분만 MR을 이용해서 처리한다는 말씀이신건가요? 그렇군요. 그럼 요즘 ETL 툴들은 HDFS 로딩부분도 지원하는가 봅니다. 아니면 Sqoop을 사용해서 다시 importing을 하는가요?
요즘 ETL은 하둡 지원하는 경우가 많은거 같네요. http://www.pentaho.com/big-data-analytics/hadoop
저 같은 경우는 로그를 cron으로 python script로 하둡 로딩해서 Hive 로 정재해서 RDBMS으로 넘겼어요. 컬럼 수가 1000개나 되서, RDBMS에 바로 넣기는 어려운 케이스가 있었습니다.
항상 블로그와 페북글 잘 읽고 있습니다. 위에 잠시 거론되기에 첨언하자면 스칼라는 JVM기반으로 자바바이트코드를 생성해서 실행됩니다 ㅎ 이미 아실려나요 ㅎ
궁금한게 있는데 spark을 운용하려면 하드웨어 사양은 어느정도가 되야하나요??