본문 바로가기

IT공부

HADOOP 이란

반응형

1. 하둡이란?

하둡은 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로는 처리가 힘들다는 것을 깨닫고, 새로운 기술을 찾는 중 구글에서 발표한 GFS(Google File System)과 MapReduce 관련 논문을 참고하여 개발되었다. 

 

하둡은 하나의 성능 좋은 컴퓨터를 사용하는 대신 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한 오픈소스 프레임워크라고 할 수 있다.

 

- 맵리듀스 원리: 

1) Map: 흩어진 데이터를 key, value로 데이터를 묶어줌

2) Reduce: Map 단계의 key를 중심으로 필터링 및 정렬

 

2. 하둡 에코시스템

1) Zookeeper(주키퍼): 분산 시스템 간의 정보 공유 및 상태 체크, 동기화를 처리하는 프레임워크. 기능에 비해 시스템이 단순하여 많이 사용. 분산 큐, 분산 락, 피어 그룹 대표 산출 등 다양한 기능을 가짐

 

2) Oozie(우지): 하둡의 워크플로우 관리. 일정한 시간이 경과하거나 또는 주기적으로 반복해서 실행될 수 있는 잡들에 대하여 관리. 

 

3) Avro(에이브로): 데이터 직렬화 프레임워크. '특정 언어에 종속되지 않음' 

 

4) Parquet(파케이): 컬럼 기준으로 데이터를 저장하는 포맷. 

 

5) Flume(플룸): 수집기능 담당 프레임워크. 웹 서버의 로그 파일 수집 및 로그 이벤트를 저장소로 전달.

출처: quora 사이트 

 

What is Apache Flume?

Answer (1 of 14): Apache Flume is a tool used to collect, aggregate and transports large amounts of streaming data like log files, events, etc., from a number of different sources to a centralized data store (say Hadoop Distributed File System – HDFS). Flu

www.quora.com

6) Sqoop(스쿱): 스쿱은 플룸과 같이 수집기능을 담당하는 프레임워크. 관계형 데이터베이스 관리시스템(RDBMS)와 같은 정형적인 데이터 저장소에서 데이터를 추출하도록 도와줌. 관계형 데이터베이스의 데이터를 HBase로 옮기는 데 주로 사용.

 

7) Pig(피그): 하둡 시스템의 맵리듀스 API를 단순화시킨 프레임워크. 대용량 데이터를 처리할 때 맵 리듀스 함수가 처리하기 어려운 조인 기능 등으로 쉽게 처리 가능. 라틴언어로 데이터 프름 표현 가능.

 

8) Crunch(크런치): 맵리듀스 파이프라인을 작성하는 API. Work Flow 상 개별 맵리듀스 Job을 직접 관리할 필요가 없기 때문에 여러 단계의 파이프라인에만 개발자가 집중 할 수 있음.

 

9) HBase: 분산형 파일 시스템을 사용하는 컬럼 기반 데이터베이스. 실시간으로 랜덤에이터 조회 및 수정이 가능하며 비동기적으로 데이터 수정 가능. RDBMS의 비확장성 비분산 등의 단점을 완벽히 커버.

 

10) Hive(하이브): 자바 프로그래밍을 모르는 사용자도 빅데이터를 분석하고 처리할 수 있도록 도와주는 프레임워크. HiveQL이라는 자체 쿼리 제공. HiveQL은 실행 될 때 맵리듀스의 Job으로 변환되어 실행된다.

 

11) Impala(임팔라): Hive 와 같은 SQL 질의 시스템. 맵리듀스를 사용하지 않고 자체 개발 엔진 사용. HiveQL을 사용하고 Hbase와 연동.

 

 

반응형

'IT공부' 카테고리의 다른 글

JWT 인증과 세션인증  (0) 2021.09.12
Go 언어 공부해보기  (0) 2020.06.28
정규 표현식(=정규식)  (0) 2019.09.22
node 버전 관리하기  (0) 2019.09.18
anaconda(가상환경)를 이용한 gensim과 konlpy 설치 순서  (0) 2019.02.21