하둡은 비지니스에 효율적으로 적용할수 있게 다양한 서브 프로젝트가 제공됩니다. 이러한 서브 프로젝트가 상용화되면서 하둡 에코시스템(Hadoop Ecosystem)이 구성 됐습니다. 분산 데이터를 저장하는 HDFS와 분석 데이터를 처리하는 맵리듀스가 하둡 코어 프로젝트에 해당하며, 나머지 프로젝트는 모두 하둡의 서브 프로젝트입니다.
- Zookeeper ( http://zookeeper.apache.org/ ) : 분산환경에서 서버 간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템 입니다. 첫째, 하나의 서버에만 서비스가 집중되지 않게 서비스를 알맞게 분산해 동시에 처리하게 해줍니다. 둘째, 하나의 서버에서 처리한 결과를 다른 서버와도 동기화해서 데이터의 안전성을 보장해 줍니다. 셋째, 운영 서버가 문제가 발생해서 서비스를 제공할 수 없을 경우, 다른 대기 중인 서버를 운영서버로 바꿔서 서비스가 중지 없이 제공되게 해줍니다. 넷째 분산 환경을 구성하는 서버들이 환경설정을 통합적으로 관리해줍니다.
- Oozie ( http://incubator.apache.org/oozie/) 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템입니다. 자바 서블릿 컨테이너에서 실행되는 자바 웹 어플리케이션 서버이며, 맴리듀스 작업이나 피그 작업 같은 특화된 액션으로 구성된 워크 플로우를 제어 합니다.
- HBase ( http://hbase.apache.org/) HDFS 기반의 칼럼 기반 데이터베이스 입니다. 구글의 BigTable 논문을 기반으로 개발됐습니다. 실시간 램덤 조회 및 업데이트가 가능하며, 가 프로세스는 개인의 데이터를 비동기적으로 업데이트 할 수 있습니다. 단, 맵리듀스는 일괄 처리 방식으로 수행됩니다.
- Pig(http://pig.apache.org/) 야후에서 개발됐으나 현재는 아파치 프로젝트에 속한 프로젝트로서, 복잡한 맵리듀스 프로그래밍을 대체할 Pig Latin이라는 자체 언어를 제공합니다. 맵리듀스 API를 크게 단순화했으며, SQL과 유사한 형태로 설계됐습니다. SQL과 유사하기만 할 뿐 기존 SQL 지식을 할요하는 것이 어려운 편입니다.
- Hive ( http://hive.apache.org/) 하둡 기반의 데이터웨어 하우징용 솔루션입니다. 페이스북에서 개발됐으며, 오픈 소스로 공개되면서 주목받은 기술입니다. SQL과 매우 유사한 HiveQL이라는 쿼리를 제공합니다. 그래서 자바를 모르는 데이터 분석가들도 쉽게 하둡 데이터를 분석할수 있게 도와줍니다. HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행됩니다.
- Mahout ( http://mahout.apache.org/) 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스입니다. 현재 분류, 클러스터링, 추천 및 협업 필터링, 패턴마이닝, 회귀분석, 차원 리덕션, 진화 알고리즘 등 중요한 알고리즘을 지원합니다.
-HCatalog ( http://incubator.apache.org/hcatalog/) 하둡으로 생성된 데이터를 위한 테이블 및 스토리지 관리 서비스 입니다. HCatalog의 가장 큰 장점은 하둡 에코시스템 간의 상호 운용성 향상입니다. 예를 들어 HCatalog를 이용하면 Hive에서 생성한 테이블이나 데이터 모델을 Pig나 맵리듀스에서 손쉽게 이용할수 있습니다. 물론 그 전에도 에코 시스템 간에 데이터 모델 공유가 불가능한 것은 아니었지만, 상당한 백엔드 작업이 필요했습니다.
-Avro ( http://avro.apache.org/) RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크 입니다. JSON을 이용해 데이터 형식과 프로토콜을 정의하며, 작고 빠른 바이너리 포맷으로 데이터를 직렬화 합니다.
- Chukwa ( http://incubator.apache.org/chukwa/) 분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장하느 플랫폼입니다. 분산된 각 서버에서 에이전트 를 실행하고ㅡ 콜렉터가 에이전트로부터 데이터를 받아 HDFS에 저장합니다. 콜렉터는 100개의 에이전트당 하나씩 구동되며, 데이터 중복 제거 등의 작업은 맵리듀스로 처리합니다. 야후에서 개발됐으며, 현재는 아파치 인큐베이션에 포함되 있습니다.
- Flume ( http://incubator.apache.org/projects/flume.html) Chukwa처럼 분산된 서버에 에이전트가 설치되고 에이전트로부터 데이터를 전달받는 콜랙털로 구성됩니다. 차이점은 전체 데이터의 흐름을 관리하는 마스터 서버가 있어서, 데이터를 어디서 수집하고, 어떤 방식으로 전송하고, 어디에 저장할지를 동적으로 변경할 수 있다는 것입니다. 클라우데라에서 개발됐으며, 현재는 아파치 인큐베이션에 포함되 있습니다.
Scribe (https://github.com/facebook/scrive) 페이스북에서 개발한 데이터 수집 플랫폼이며, Chukwa와는 다르게 데이터를 중앙 집중 서버로 전송하는 방식입니다. 죄종 데이터는 HDFS외에 다양한 저장소를 활용할수 있으며 설치와 구성이 쉽게 다양한 프로그래밍 언어를 지원합니다.
Sqoop (http://sqoop.apache.org) 대용량 데이터 전송 솔루션이며, 올해 4월에 아파치 최상위 프로젝트로 승격됐습니다. Sqoop은 HDFS, RDBMS, DW, NoSQL등 다야안 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법을 제공합니다. Oracle, MS-SQL, DB2등과 같은 상용 RDBMS와 MySQL. ProstgreSQL과 같은 오프소스 RDBMS등을 지원합니다.
Hibo (https://github.com/sonalgoyal/hiho/) Sqoop과 같은 대용량 데이터 전송 솔루션이며, 핸재 Github에공개되 있습니다. 하둡에서 데이터를 가져오기 위한 SQL을 지정할 수 있으며, JDBC인터페이스를 지원합니다.
from : http://www.hadoop-forum.co.kr/_board/content.php?id=13&pass_id=17&secret=0&slug=resent_new
댓글 없음:
댓글 쓰기