블로그 목적
머신러닝 공부 및 구현을 위한, 플랫폼인 하둡에 대한 기본지식을 습득한다.
하둡의 에코시스템에 대해서도 간략하게 알아본다.
아파치 하둡(Apache Hadoop)에 대해서 알아보자.
아파치 하둡이란?
아파치 소프트웨어 재단의 오픈 소스, 자바 기반의 프로젝트 중 하나라고 머리속에 넣어두자.
특징
빅데이터를 분산 저장 및 처리
확장성 지원
장애허용 지원
목적
저렴한 비용의 서버들로 구성된 노드 클러스터의 이점을 활용하여, 병렬처리를 가능하게 하는 것.
하둡 로고
코끼리
사견인데.. 우리 아이가 너무 좋아하는 동물입니다. ^-^ 코끼리 하면 코! 하고 (옹알이중 ㅋ)
그래서 더욱 정감이 아네요.. 하둡에...^^
그럼, 하둡이란 이름은 누가 지었을까?
하둡의 창시자, 더그 커팅(Doug Cutting) 이 지음.
유래는, 더그 커팅의 딸이 갖고 놀던 장난감 코끼리의 이름에서 따왔다고 함.
역시 아기들은 코끼리를 좋아하는 것 같습니다. ! 막 공감되는...ㅋㅋ
그럼, 하둡을 가장 많이 사용했던 업체는?
야후(Yahoo) 라고 함.
과거를 돌이켜보면, 인터넷이 한국에 왔을때는 라이코스와 야후를 많이 썼던 기억이..
지금은 과연 어디로......세월이 흘렀네요...
결론적으로, 하둡은 빅데이터에 대한 업계 표준 플랫폼이 되었답니다.
주로 사용 업체는
마이크로소프트, 구글, 야후, IBM 등 IT 분야 메이저 업체에서도 사용 중.
참고페이지
그럼, 하둡의 역사 및 진화과정를 알아보자.
2002년 ~ 2003년
더그커팅(Doug Cutting) / 마이크 카파렐라(Mike Cafarella)가 확장성을 지닌 오픈소르 검색 엔진 개발
너치(Nutch) 프로젝트 시작
여러대의 컴퓨터 서버상에서 확장 가능한 형태로 발전함.
2004년
더그커팅이 너치에서 GFS / 맵리듀스를 지원하게 구현함.
2006년
하둡이 너치에서 독립됨.
야후
더그 커팅을 영입함.
2007년
뉴욕타임즈
100대가 넘는 아마존 웹서비스(AWS)의 EC2 인스턴스에 4TB의 이미지를 저장,보관
페이스 북
하둡상에서 SQL을 지원하는 하이브를 발표
2008년
910대가 넘는 노드상에서 정렬 알고리즘의 수행 시간을 3분30초까지 단축
클라우데라(Cloudera) 창업
2009년
750명이 참석한 1회 하둡 서밋(Hadoop Summit) 컨퍼런스 개최
더그커팅이 클라우데라에 합류.
참고) 하둡의 진화 과정에 영향을 끼친 마일스톤
2003년 ~ 2004
구글
2003년
GFS(Google File System) 공개
2004년
맵리듀스 프레임 워크 공개
하둡에서 HDFS, 맵리듀스/YARN 이라는프레임워크로 계속 진화
2008년 2월
야후
자사의 검색 인덱싱을 10000대의 하둡 클러스터 노드상에서 생성하고 있다고 발표함.
그럼, 하둡의 에코시스템에 대해서 알아보자.
그림 출처
시작하세요! 하둡 프로그래밍(위키북스)
하둡 코어 프로젝트
HDFS(분산데이터 저장), MapReduce(분산처리)
하둡 서브 프로젝트
나머지 프로젝트들
데이터 마이닝, 데이터 수집, 데이터 분석, 직렬화 등등을 수행함
그럼, 주요 서브 프로젝트에 대해서 간략하게 정리해보자.
Zookeeper
분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스를 제공하는 시스템
특징
서비스를 알맞게 분산하여 동시에 처리하게 해줌
처리한 결과를 다른 서버들과도 동기화 및 데이터의 안정성을 보장
운영서버 무중단 지원 및 제공
분산 환경을 구성하는 서버들의 환경설정을 통합적으로 관리
참고페이지
Ooozie
하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템
특징
자바 서블릿 컨테이너에서 실행되는 자바 웹 애플리케이션 서버
MapReduce 작업 or Pig 작업 같은 특화된 액션들로 구성된 워크플로우를 제어함
참고 페이지
http://incubator.apache.org/oozie
HBase
HDFS 기반의 칼럼 기반 데이터 베이스
특징
실시간 랜덤 조회 및 업데이트가 가능
프로세스들은 개인의 데이터를 비동기적으로 업데이트 가능
단, MapReduce는 일괄 처리 방식으로 수행됨.
참고페이지
Pig
인프라와 결합 된 데이터 분석 프로그램을 표현하기위한 고급 언어로 구성된 대규모 데이터 세트를 분석하기위한 플랫폼
특징
복잡한 MapReduce 프로그래밍을 대체할 Pig Latin이라는 자체 언어를 제공
MapReduce API를 매우 단순화시키고, SQL과 유사한 형태로 설계됨.
단, SQL과 유사하기만 할 뿐, 기존 SQL 지식을 활용하는 것이 어려움. -_-;
참고페이지
Hive
하둡 기반의 데이터웨어하우징용 솔루션
특징
SQL과 매우 유사한 HiveQL이라는 쿼리를 제공
참고페이지
Mahout
하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스
특징
중요 알고리즘 지원
분류 (classification)
클러스터링(clustering)
추천 및 협업 필터링 (Recommenders/collaborative filtering)
패턴 마이닝 (Pattern Mining)
회귀 분석 (Regression)
차원 리덕션 (Dimension reduction)
진화 알고리즘 (Evolutionary Algorithms) 등등
참고페이지
HCatalog
하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스
특징
하둡 에코 시스템들간의 상호 운용성 향상
예를들면,
Hive에서 생성한 테이블 or 데이터 모델을 Pig or MapReduce에서 손쉽게 이용할 수가 있도록 도와줌.
참고페이지
https://cwiki.apache.org/confluence/display/Hive/HCatalog
Avro
RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크
JSON을 이용해 데이터 형식과 프로토콜을 정의하고 작고 빠른 바이너리 포맷으로 데이터를 직렬화함.
참고페이지
Chukwa
분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장시키는 플랫폼
특징
분산된 각 서버에서 에이전트를 실행하고, 콜랙터가 에이전트로부터 데이터를 받아 HDFS에 저장
콜렉터는 100개의 에이전트당 하나씩 구동
참고페이지
Flume
다양한 소스에서 중앙 집중식 데이터 저장소로 대량의 로그 데이터를 효율적으로 수집, 집계 및 이동할 수있는 안정적이고 사용 가능한 분산 형 시스템
특징
분산된 서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜랙터로 구성
참고페이지
http://incubator.apache.org/projects/flume.html
Scribe
페이스북에서 개발한 데이터 수집 플랫폼
특징
데이터를 중앙 집중 서버로 전송하는 방식
최종 데이터는 HDFS외에 다양한 저장소를 활용가능
다양한 프로그램 언어를 지원함.
참고페이지
https://github.com/facebookarchive/scribe
Sqoop
대용량 데이터 전송 솔루션
특징
HDFS, RDBMS, DW, NoSQL등 다양한 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법을 제공함.
RDBMS 지원함.
상용 RDBMS
Oracle, MS-SQL, DB2 등등
오픈 소스 RDBMS
MySQL, PostgresSQL 등등
참고페이지
Hiho
대용량 데이터 전송 솔루션
특징
하둡에서 데이터를 가져오기 위한 SQL을 지정가능
JDBC 인터페이스를 지원
참고페이지
https://github.com/sonalgoyal/hiho
Impala
하둡 기반의 실시간 SQL 질의 시스템
특징
맵리듀스를 사용하지 않고, 자체 개발한 엔진을 사용해 빠른 성능을 보여줌.
Impala는 데이터 조회를 위한 인터페이스로, HiveQL을 사용함.
수초 내에 SQL 질의 결과를 확인가능하고 HBase와도 연동이 가능함.
참고페이지
https://github.com/cloudera/impala
Tajo
고려대학교 정보통신대학 컴퓨터학과 DB연구실 박사 과정학생들이 주도해서 개발한 하둡 기반의 DW 시스템
특징
데이터 저장소는 HDFS를 사용하되, 표준DB언어인 SQL을 통해 실시간으로 데이터를 조회가능함.
Hive보다 2 ~ 3배 빠르고 Impala 와는 비슷한 속도를 보여준다고 함.
참고페이지
결론
아파치 하둡은 아파치 소프트웨어 재단의 오픈 소스, 자바 기반의 프로젝트 중 하나라고 머리속에 넣어두고, 아래 특징과 목적또한 알아두자.
특징
빅데이터를 분산 저장 및 처리
확장성 지원
장애허용 지원
목적
저렴한 비용의 서버들로 구성된 노드 클러스터의 이점을 활용하여, 병렬처리를 가능하게 하는 것.
아파치 에코시스템에 대해서 정리하다보니, 시간이 어떻게 가는줄 모름;; 그정도로 많은 에코시스템을 가지고 있음.
에코시스템에 대해서는 추후에 세밀하게 공부해보고 블로깅을 남기도록 노력해 봐야겠음.
오늘도 아파치 하둡 및 에코시스템에 대한 지식 한가지 획득완료! 감사합니다.
오늘의 영어 한마디
Minimize Television Watching.
최소화 하라 / 텔레비전 시청을
해설
"minimize" 는 "최소화하다" 라는 의미
오늘의 민법 한마디
제2편 물권, 제2장 점유권
제202조 (점유자의 회복자에 대한 책임)
점유물이 점유자의 책임 있는 사유로 인하여 멸실 또는 훼손한 때에는 악의의 점유자는 그 손해의 전부를 배상하여야 하며 선의의 점유자는 이익이 현존하는 한도에서 배상하여야 한다.
소유의 의사가 없는 점유자는 선의인 경우에도 손해의 전부를 배상하여야 한다.
오늘의 회계 공부 한마디
부기상의 거래(transactions)
기업의 자산/부채/자본의 증가 또는 감소를 일으키는 모든 사건(events)을 말함.
부기의 출발점
예시
상품을 구입하는 거래
자산증가 / 자산 감소를 가져오는 부기상의 거래
"상품" 이라는 자산 증가
"현금" 이라는 자산 감소
현금을 차입하는 거래
자산증가 / 부채 증가를 가져오는 부기상의 거래
"현금" 이라는 자산 증가
"차입금" 이라는 부채 증가
급여를 지급하는 거래
자본감소 / 자산감소를 가져오는 부기상의 거래
"급여"라는 비용 발생
"현금"라는 자산 감소
기타 등등...
부기상의 거래에 대한 식별 기준은 자산/부채/자본의 변동 여부임.
오늘의 부동산 공부 한마디
부동산학
정의
부동산 활동의 능률화의 원리 및 그 응용기술을 개척하는 종합응용과학임.
즉, 부동산의 법률적/경제적/기술적측면을 복합개념의 논리에 따라 종합적 접근방법으로 부동산현상을 인식하여 부동산활동의 능률성을 추구하는 학문.
부동산학의 개념 및 분류
개념
법률적/경제적/기술적 지식의 세 분야가 종합적으로 구성되어 그 기본적 체계를 이루고 있으며, 이들이 부동산에 대한 결정을 행함에 있어서 복합적이고 상호유기적으로 관련되어 있음.
법률적 개념
광의의부동산 / 협의의 부동산으로 구분됨.
광의의 부동산
협의의 부동산
토지
주택지, 상업지, 공업지, 도로용지, 농지, 산림지, 하천, 수도용지, 목장용지, 공공요지 등등.
정착물
건물
주택, 아파트, 상가, 빌딩, 창고, 축사, 공장
공작물
문, 담장, 교량, 지하도, 도로, 등대, 철도, 상수도, 하수도, 굴뚝, 육교, 지하철, 축대, 댐, 동상
준부동산(의제부동산, 등기/등록등 공시방법을 요함.)
공장재단(공장저당법), 광업재단(광업재단저당법), 입목(입목에 관한 법률), 선박(선박등기법), 항공기(항공법), 자동차(도로운송차량법), 어업권(수산업법) 등등
경제적 개념
부동산 가격에 관련된 것으로 토지 경제학/부동산 경기변동론/부동산 경영과 마케팅이론/입지선정이론/부동산감정평가이론등의 분야와 밀접한 관계가 있음.
부동산 가격/수요와공급/경기변동/수익과비용이 중요한 사항.
기술적 개념(물리적개념)
부동산의 물리적/자연적/공학적 측면을 말함.
즉, 부동산의 물리적 개념은 자연/위치/공간/환경등으로 취급됨.
복합개념의 부동산
부동산을 물리적/경제적/법률적개념으로 이해하여 체계화한 개념을 말함
기술적 측면
물리적/공학적 입장에서 보는 측면
경제적 측면
생산/교환/분배/소비와 투자의 입장에서 보는 측면
법률적 측면
법적용의 대상으로 보는 측면
그럼, 생산의 3대요소 는 무엇일까?
토지 / 노동 / 자본
나의 목표 및 다짐을 항상 내곁에 두기.
목표
나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.
현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기
목표를 이루기 위한 실천방안
꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.
천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.
"천번 생각하는것보다 한번 행동하는 것이 더 중요하다."
기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)
천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.
모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.
'좋아하는 것_매직IT > 2.hadoop' 카테고리의 다른 글
5.hadoop, 하둡의 핵심 기술관련 리소스관리자 및 스케줄러 에 대해서 정리해보자. (0) | 2021.01.27 |
---|---|
4.hadoop, 하둡의 핵심 기술관련 분산파일 시스템에 대해서 정리해보자. (0) | 2021.01.27 |
3.hadoop, 데이터(data)의 정의와 특성에 대해서 머리속에 일목요연하게 정리해 보자. (0) | 2021.01.27 |
2.hadoop, 데이터 과학(data science)에 대해서 알아보자. (0) | 2021.01.05 |
1.hadoop, 하둡을 손쉽게 시작할 수 있는 호튼웍스 샌드박스를 소개합니다. (0) | 2021.01.04 |