Upload
-
View
2.314
Download
4
Embed Size (px)
DESCRIPTION
숭실대학교 미디어학부 오픈소스 소프트웨어 실습 4차 강의로, Bigdata에 대한 이해를 해보고, 필요한 구성요소와 Hadoop에 대해 소개합니다. 그리고 2,3차에 진행한 node.js와 연계할 수 있는 기본적인 실습을 포함하고 있습니다.
Citation preview
• ����������� ������������������ BigData의����������� ������������������ 개요����������� ������������������ • ����������� ������������������ Hadoop����������� ������������������ 이용����������� ������������������ • ����������� ������������������ Streaming����������� ������������������ with����������� ������������������ Node.js����������� ������������������
• ����������� ������������������ VERSION����������� ������������������ 1.0����������� ������������������ • ����������� ������������������ Release����������� ������������������ Date����������� ������������������ :����������� ������������������ 2013.5����������� ������������������
오픈소스����������� ������������������ 실습����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ BigData����������� ������������������ 소개����������� ������������������
고����������� ������������������ 강����������� ������������������ 태����������� ������������������
010-8269-3535����������� ������������������
����������� ������������������ [email protected]
@gtko
http://goo.gl/9V3H6
http://www.facebook.com/gangtai.goh
오픈소스����������� ������������������ 실습����������� ������������������ 강의����������� ������������������
• 자료의����������� ������������������ 출처는����������� ������������������ 슬라이드����������� ������������������ 하단에����������� ������������������ 표기했습니다.����������� ������������������
• 2013년����������� ������������������ 숭실대학교����������� ������������������ 미디어����������� ������������������ 학부의����������� ������������������ 오픈소스����������� ������������������ 소프트웨어����������� ������������������ 실습과정의����������� ������������������ 일환으로����������� ������������������ 제작되었습니다.����������� ������������������
• 3
목차����������� ������������������
1. ����������� ������������������ Big����������� ������������������ Data����������� ������������������ 개요����������� ������������������
2. ����������� ������������������ BigData����������� ������������������ 분석����������� ������������������
3. ����������� ������������������ Big����������� ������������������ Data����������� ������������������ 활용사례����������� ������������������
4. ����������� ������������������ Hadoop����������� ������������������
• 4
1.����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
01.����������� ������������������ BigData?����������� ������������������
02.����������� ������������������ BigData����������� ������������������ 기술요소����������� ������������������
03.����������� ������������������ BigData����������� ������������������ 처리����������� ������������������ 기법����������� ������������������ ����������� ������������������
1.����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������ ����������� ������������������ 01.����������� ������������������ Big����������� ������������������ Data란?����������� ������������������
• 6
Big����������� ������������������ Data란?����������� ������������������
기존����������� ������������������ 데이터에����������� ������������������ 비해����������� ������������������ 너무����������� ������������������ 커서����������� ������������������ 기존����������� ������������������ 방법,����������� ������������������ 도구로����������� ������������������ 수집/저장/검색/분석/시각화����������� ������������������ 등이����������� ������������������ 어려운����������� ������������������ 정형,����������� ������������������ 반정형����������� ������������������ 및����������� ������������������ 비정형����������� ������������������ 데이터의����������� ������������������ 집합����������� ������������������
����������� ������������������
����������� ������������������ -����������� ������������������ 하드웨어,����������� ������������������ 소프트웨어적����������� ������������������ 저장,����������� ������������������ 분석의����������� ������������������ 어려움을����������� ������������������ Grid����������� ������������������ computing,����������� ������������������ Cloud����������� ������������������ computing����������� ������������������ 등����������� ������������������ 기술로����������� ������������������ 극복����������� ������������������
����������� ������������������ -����������� ������������������ 전통적����������� ������������������ 데이터����������� ������������������ 분석����������� ������������������ 기법을����������� ������������������ 개선����������� ������������������
����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 7
왜?����������� ������������������
2011년에����������� ������������������ 새롭게����������� ������������������ 생성,����������� ������������������ 복제되는����������� ������������������ 정보의����������� ������������������ 양은����������� ������������������ 1.8ZB(1조8000억����������� ������������������ GigaByte)를����������� ������������������ 넘어선다.����������� ������������������ 향후����������� ������������������ 5년간����������� ������������������ 9배����������� ������������������ 증가����������� ������������������ 예상����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 1.8ZB는����������� ������������������ 약����������� ������������������ 4900만����������� ������������������ 국민이����������� ������������������ 18만년����������� ������������������ 동안����������� ������������������ 쉬지����������� ������������������ 않고����������� ������������������ 1분에����������� ������������������ 트위터에����������� ������������������ 3개의����������� ������������������ 글을����������� ������������������ 게시하는����������� ������������������ 양과����������� ������������������ 같다����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 2시간짜리����������� ������������������ HD영화����������� ������������������ 2000억개와����������� ������������������ 맞먹는다.����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 2011,����������� ������������������ IDC����������� ������������������
����������� ������������������
����������� ������������������
이렇듯����������� ������������������ 전세계����������� ������������������ 디지털����������� ������������������ 정보량은����������� ������������������ 매����������� ������������������ 2년마다����������� ������������������ 2배씩����������� ������������������ 증가����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
KT종합기술원:����������� ������������������ http://goo.gl/nVyre����������� ������������������
• 8
어디에?����������� ������������������
SKT����������� ������������������ LTE����������� ������������������ 가입자����������� ������������������ 하루����������� ������������������ 데이터����������� ������������������ 1PB����������� ������������������ 시대����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 5메가바이트(MB)����������� ������������������ 분량의����������� ������������������ 노래����������� ������������������ 2억����������� ������������������ 1474만8364곡을����������� ������������������ 내려받거나����������� ������������������ 영화����������� ������������������ 153만3916편을����������� ������������������ 내려받은����������� ������������������ 셈.����������� ������������������ ����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/v5bHN����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 3000만����������� ������������������ 가입자의����������� ������������������ 분석����������� ������������������
����������� ������������������
����������� ������������������
미국,����������� ������������������ 싱가포르����������� ������������������ 등����������� ������������������ 정부����������� ������������������ 차원에서����������� ������������������ 테러,����������� ������������������ 범죄����������� ������������������ 방지를����������� ������������������ 위한����������� ������������������ 빅데이터����������� ������������������ 수집/분석����������� ������������������ 및����������� ������������������ 예측����������� ������������������ 체계를����������� ������������������ 도입����������� ������������������ 사례����������� ������������������
����������� ������������������
EU는����������� ������������������ 금융위기����������� ������������������ 극복,����������� ������������������ 사회����������� ������������������ 복잡성����������� ������������������ 이해를����������� ������������������ 위해����������� ������������������ Future����������� ������������������ ICT����������� ������������������ 프로젝트����������� ������������������
…⋯����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 9
어떻게?����������� ������������������
빅����������� ������������������ 데이터의����������� ������������������ 데이터는����������� ������������������ 다양한����������� ������������������ 분석����������� ������������������ 기술,����������� ������������������ 인프라를����������� ������������������ 기반으로����������� ������������������ 데이터����������� ������������������ 안에서����������� ������������������ 데이터를����������� ������������������ 발견하는데����������� ������������������ 중점.����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
http://goo.gl/97PRT����������� ������������������
• 10
데이터베이스의����������� ������������������ 진화����������� ������������������
데이터들이����������� ������������������ 빠르게����������� ������������������ 증가하는����������� ������������������ 만큼����������� ������������������ 노이즈����������� ������������������ 데이터라고����������� ������������������ 불리우는����������� ������������������ 쓸모����������� ������������������ 없는����������� ������������������ 데이터들도����������� ������������������ 많이����������� ������������������ 생성����������� ������������������
이런����������� ������������������ 비정형화된����������� ������������������ 노이즈����������� ������������������ 데이터의����������� ������������������ 중요성이����������� ������������������ 증대,����������� ������������������ 분석����������� ������������������ 요구����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
http://goo.gl/97PRT����������� ������������������
• 11
데이터����������� ������������������ 종류����������� ������������������
빅����������� ������������������ 데이터의����������� ������������������ 데이터는����������� ������������������ 정형화����������� ������������������ 정도에����������� ������������������ 따라,����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
KT종합기술원:����������� ������������������ http://goo.gl/nVyre����������� ������������������
• 12
Data����������� ������������������ storage����������� ������������������
데이터����������� ������������������ 저장����������� ������������������ 비용의����������� ������������������ 감소����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
http://www.deepspar.com/wp-data-loss.html����������� ������������������
• 13
분산컴퓨팅����������� ������������������ 진화����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 14
요소기술����������� ������������������ 진화����������� ������������������
다중����������� ������������������ 분산����������� ������������������ 시스템����������� ������������������ 변화����������� ������������������ à����������� ������������������ 가상화����������� ������������������ à����������� ������������������ 서비스화����������� ������������������
On Demand Computing
사용자가����������� ������������������ 필요로����������� ������������������ 할����������� ������������������ 때����������� ������������������ 언제����������� ������������������ 어디서지����������� ������������������ 컴퓨팅����������� ������������������ 및����������� ������������������ 서비스를����������� ������������������ 이용할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 주문형����������� ������������������ 기반����������� ������������������ 컴퓨팅����������� ������������������
Grid Computing
주어진����������� ������������������ 문제를����������� ������������������ 풀기����������� ������������������ 위해서����������� ������������������ 네트워크����������� ������������������ 상의����������� ������������������ 수����������� ������������������ 많은����������� ������������������ 컴퓨터의����������� ������������������ 자원을����������� ������������������ 이용하는����������� ������������������ 컴퓨팅.����������� ������������������ 서로����������� ������������������ 상이한����������� ������������������ 컴퓨터들이����������� ������������������ 가상의����������� ������������������ 대형����������� ������������������ 컴퓨터를����������� ������������������ 구헝à����������� ������������������ 고도의����������� ������������������ 연산,����������� ������������������ 대용량����������� ������������������ 연산����������� ������������������ 처리����������� ������������������ (����������� ������������������ SETI)����������� ������������������ ����������� ������������������ ����������� ������������������
Virtualization
물리적����������� ������������������ 시스템����������� ������������������ 개체들을����������� ������������������ 논리적����������� ������������������ 하드웨어����������� ������������������ 단위로����������� ������������������ 분리.����������� ������������������ 컴퓨팅����������� ������������������ 자원의����������� ������������������ 물리적����������� ������������������ 특징을����������� ������������������ 숨기고����������� ������������������ 이들����������� ������������������ 자원을����������� ������������������ 사용하는����������� ������������������ 다른����������� ������������������ 시스템,����������� ������������������ 애플리케이션����������� ������������������ 및����������� ������������������ 사용자에게����������� ������������������ 단일한����������� ������������������ 시스템����������� ������������������ 이미지를����������� ������������������ 제공하는����������� ������������������ 개념.����������� ������������������ 또한����������� ������������������ 단일����������� ������������������ 자원이����������� ������������������ 여러개의����������� ������������������ 논리����������� ������������������ 단위로����������� ������������������ 혹은����������� ������������������ 반대를����������� ������������������ 포함한다.����������� ������������������ à����������� ������������������ LVM,����������� ������������������ VMWare����������� ������������������
Utility Computing 사용자가����������� ������������������ 필요한����������� ������������������ 만큼����������� ������������������ 시스템����������� ������������������ 자원을����������� ������������������ 사용하고����������� ������������������ 그����������� ������������������ 사용량에����������� ������������������ 따라����������� ������������������ 비용을����������� ������������������ 지불하는����������� ������������������ 개념의����������� ������������������ 컴퓨팅����������� ������������������ ����������� ������������������ à����������� ������������������ SaaS;����������� ������������������ Salesforce.com����������� ������������������
Cloud Computing 가상화되고����������� ������������������ Privisioning을����������� ������������������ 포함해����������� ������������������ 상업적으로����������� ������������������ Utility-computing����������� ������������������ 서비스를����������� ������������������ 시행����������� ������������������ ����������� ������������������ à����������� ������������������ E2C,����������� ������������������ AppEngine,����������� ������������������ Cloud����������� ������������������ hosting����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 15
Don’t����������� ������������������ buy,����������� ������������������ be����������� ������������������ use!����������� ������������������
HW,����������� ������������������ SW의����������� ������������������ 물리적����������� ������������������ 제약을����������� ������������������ 가상화로����������� ������������������ 해결����������� ������������������
http://www.slideshare.net/CiscoSP360/vmworld-2009-vmworld-data-center
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 16
BigData����������� ������������������ story����������� ������������������
Database,����������� ������������������ Dataware����������� ������������������ House,����������� ������������������ Data����������� ������������������ mart����������� ������������������ 등의����������� ������������������ 정적����������� ������������������ 데이터����������� ������������������ 기반은����������� ������������������ 대규모����������� ������������������ 메모리,����������� ������������������ SAN����������� ������������������ Storage����������� ������������������ 등을����������� ������������������ 대용량����������� ������������������ 파일시스템����������� ������������������ 마운트를����������� ������������������ 기반으로����������� ������������������ 고가용성을����������� ������������������ 유지����������� ������������������ ����������� ������������������ -����������� ������������������ 단,����������� ������������������ scale-up����������� ������������������ 기반의����������� ������������������ 성능����������� ������������������ 향상����������� ������������������ ����������� ������������������ 구글은����������� ������������������ 검색기반����������� ������������������ 광고에����������� ������������������ Tera����������� ������������������ ->����������� ������������������ Peta����������� ������������������ 규모의����������� ������������������ 데이터����������� ������������������ 분석등을����������� ������������������ 위핸����������� ������������������ MapRedue����������� ������������������ 라는����������� ������������������ 모델을����������� ������������������ 구글파일시스템(GFS)에서����������� ������������������ 활용����������� ������������������ 이런����������� ������������������ MapReduce����������� ������������������ 솔루션����������� ������������������ 중에서����������� ������������������ 오픈소스로����������� ������������������ 주목����������� ������������������ 받는����������� ������������������ 기술이����������� ������������������ Java기반의����������� ������������������ Apache����������� ������������������ Hadoop����������� ������������������ 이다.����������� ������������������ Hadoop은����������� ������������������ 야후����������� ������������������ 더그커킹이����������� ������������������ 개발/배포하다����������� ������������������ 오픈소스화.����������� ������������������ ����������� ������������������ 페이스북,트위터,링크드인,����������� ������������������ 이베이,����������� ������������������ 아마존����������� ������������������ 등����������� ������������������ 이용����������� ������������������ 국내����������� ������������������ NexR이����������� ������������������ hadoop����������� ������������������ 및����������� ������������������ 클라우드����������� ������������������ 기반����������� ������������������ 솔루션,����������� ������������������ 이후����������� ������������������ KT크라우드웨어에서����������� ������������������ R+Hive����������� ������������������ 솔루션����������� ������������������ RHive����������� ������������������ 제공.����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
미래사회와 빅 데이터(Big Data)기술
• 17
BigData와����������� ������������������ Cloud����������� ������������������
����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ http://www.citsoft.net/?page_id=336����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
1.����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������ ����������� ������������������ 02.����������� ������������������ Big����������� ������������������ Data����������� ������������������ 요소����������� ������������������ 기술����������� ������������������
• 19
V����������� ������������������ V����������� ������������������ V����������� ������������������
3대����������� ������������������ 요소����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 20
Volume����������� ������������������
웹����������� ������������������ 로그,����������� ������������������ 지메일����������� ������������������ 서버����������� ������������������ 등의����������� ������������������ 데이터는����������� ������������������ 수����������� ������������������ PB����������� ������������������ 이상����������� ������������������
트위터의����������� ������������������ 메시징����������� ������������������ 정보량����������� ������������������ GB����������� ������������������ 미만����������� ������������������ 등…⋯����������� ������������������
안정적����������� ������������������ 데이터와����������� ������������������ 분석,����������� ������������������ 처리에����������� ������������������ 중점을����������� ������������������ 두는����������� ������������������ 데이터의����������� ������������������
차별이����������� ������������������ 필요하다.����������� ������������������
물리적����������� ������������������ 크기보다����������� ������������������ 데이터의����������� ������������������ 속성에����������� ������������������ 따라����������� ������������������ 중요성을����������� ������������������ 판단하고����������� ������������������
처리하는데����������� ������������������ 중점����������� ������������������
����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
http://goo.gl/aXm24����������� ������������������
• 21
Velocity����������� ������������������
데이터를����������� ������������������ 처리하는����������� ������������������ 속도����������� ������������������
배치����������� ������������������ 분석����������� ������������������
실시간����������� ������������������ 분석����������� ������������������
결과에����������� ������������������ 대한����������� ������������������ 가시화����������� ������������������ 기능도����������� ������������������ 중요����������� ������������������
����������� ������������������ -����������� ������������������ 단,����������� ������������������ 가시화가����������� ������������������ 처리를����������� ������������������ 능가하면����������� ������������������ 안됨����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 22
Variety����������� ������������������
전통적����������� ������������������ 데이터는����������� ������������������ 기업내부의����������� ������������������ ERP,����������� ������������������ SCM,����������� ������������������ MES,����������� ������������������ CRM����������� ������������������ 등은����������� ������������������ RDBMS����������� ������������������ 기반의����������� ������������������ 정형화된����������� ������������������ 데이터를����������� ������������������ 구축해서����������� ������������������ 운영하고����������� ������������������ 있다.����������� ������������������
기업����������� ������������������ 외부의����������� ������������������ 데이터인����������� ������������������ 마케팅,����������� ������������������ 평판,����������� ������������������ 기사����������� ������������������ 등의����������� ������������������ 데이터는����������� ������������������ 데이터웨어하우스를����������� ������������������ 통해����������� ������������������ 유지,����������� ������������������ 분석했다.����������� ������������������
그러나����������� ������������������ 인터넷����������� ������������������ 시대에����������� ������������������ 모든����������� ������������������ 데이터를����������� ������������������ 정형/반정형화����������� ������������������ 해서����������� ������������������ 이용하는데����������� ������������������ 한계에����������� ������������������ 직면����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
http://goo.gl/MTKST����������� ������������������
• 23
http://goo.gl/80Hb4����������� ������������������
d����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
• 24
주요����������� ������������������ 업체����������� ������������������
Hortonworks����������� ������������������ –����������� ������������������ 야후분사,����������� ������������������ Hadoop����������� ������������������ 코어����������� ������������������ 지원,����������� ������������������ 아치텍쳐����������� ������������������
Cloudera����������� ������������������ –����������� ������������������ 야후분사,����������� ������������������ 기술지원,����������� ������������������ 교육����������� ������������������ 및����������� ������������������ 배포판����������� ������������������ 제공����������� ������������������
IBM����������� ������������������ –����������� ������������������ Apache����������� ������������������ hadoop����������� ������������������ 기반����������� ������������������ basic,����������� ������������������ enterprise����������� ������������������ 배포판����������� ������������������
EMC����������� ������������������ –����������� ������������������ DW����������� ������������������ Greenplum에����������� ������������������ MapR����������� ������������������ 통합해����������� ������������������ 제공,����������� ������������������ Apache����������� ������������������ Hadoop����������� ������������������ 기반����������� ������������������ community����������� ������������������ edition����������� ������������������
Oracle����������� ������������������ –����������� ������������������ HW����������� ������������������ +����������� ������������������ Cloudera����������� ������������������
DataStax����������� ������������������ –����������� ������������������ Hadoop����������� ������������������ +����������� ������������������ Hive����������� ������������������ +����������� ������������������ Cassandra����������� ������������������
Datameer����������� ������������������ –����������� ������������������ Analytic����������� ������������������ solution����������� ������������������
Hadapt����������� ������������������ –����������� ������������������ Analytic����������� ������������������ platform����������� ������������������
HStreaming����������� ������������������ –����������� ������������������ Real����������� ������������������ tie����������� ������������������ processing����������� ������������������
����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
미래사회와 빅 데이터(Big Data)기술
• 25
솔루션간����������� ������������������ 관계����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
미래사회와 빅 데이터(Big Data)기술
• 26
2.����������� ������������������ BigData의����������� ������������������ 분석기법����������� ������������������
01.����������� ������������������ BigData����������� ������������������ 처리����������� ������������������
02.����������� ������������������ BigData����������� ������������������ 분석기법����������� ������������������
03.����������� ������������������ BigData����������� ������������������ ����������� ������������������
1.����������� ������������������ Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������ ����������� ������������������ 01.����������� ������������������ Big����������� ������������������ Data����������� ������������������ 처리����������� ������������������
• 28
빅데이터����������� ������������������ 처리는����������� ������������������
빠른����������� ������������������ 의사결정이����������� ������������������ 상대적으로����������� ������������������ 덜����������� ������������������ 요구된다����������� ������������������
처리����������� ������������������ 복잡도가����������� ������������������ 높다����������� ������������������
처리할����������� ������������������ 데이터����������� ������������������ 양이����������� ������������������ 방대하다����������� ������������������
비정형����������� ������������������ 데이터����������� ������������������ 비중이����������� ������������������ 높다����������� ������������������
처리/분석����������� ������������������ 유연성이����������� ������������������ 높다����������� ������������������
동시처리량이����������� ������������������ 낮다����������� ������������������
BigData����������� ������������������ 처리����������� ������������������
가트너����������� ������������������ 11년����������� ������������������ 보고서����������� ������������������
• 29
처리����������� ������������������ 방식����������� ������������������
다양한����������� ������������������ 스토리지,����������� ������������������ 컴퓨팅����������� ������������������ 기술����������� ������������������ 과����������� ������������������ 분석����������� ������������������ 기술을����������� ������������������ 이용한다.����������� ������������������
그래서����������� ������������������ 빅����������� ������������������ 데이터����������� ������������������ 기술은����������� ������������������ 크게����������� ������������������ 분석����������� ������������������ 기법과����������� ������������������ 분석����������� ������������������ 인프라로����������� ������������������ 구성����������� ������������������
Big����������� ������������������ Data의����������� ������������������ 개요����������� ������������������
KT경제연구소,����������� ������������������ Big����������� ������������������ Data,����������� ������������������ 미래를����������� ������������������ 여는����������� ������������������ 비밀의����������� ������������������ 열쇠����������� ������������������
BigData의����������� ������������������ 분석기법����������� ������������������ ����������� ������������������ 02.����������� ������������������ 주요����������� ������������������ 분석����������� ������������������ 기법����������� ������������������
• 31
TextMining����������� ������������������
텍스트마이닝은����������� ������������������ 비/반정형����������� ������������������ 텍스트����������� ������������������ 데이터에서����������� ������������������ 자연어처리Natural����������� ������������������ Language����������� ������������������ Processing����������� ������������������ 기반����������� ������������������ 추출/가공을����������� ������������������ 목적����������� ������������������
����������� ������������������ -����������� ������������������ 방대한����������� ������������������ 텍스트����������� ������������������ 내용����������� ������������������ 안에서����������� ������������������ 의미����������� ������������������ 있는����������� ������������������ 정보를����������� ������������������ 추출해����������� ������������������ 다른����������� ������������������ 정보와의����������� ������������������ 연계성을����������� ������������������ 파악해����������� ������������������ 텍스트의����������� ������������������ 분류화����������� ������������������
����������� ������������������ -����������� ������������������ 단순����������� ������������������ 키워드����������� ������������������ 검색����������� ������������������ 이상의����������� ������������������ 결과를����������� ������������������ 얻는다.����������� ������������������
����������� ������������������
다양한����������� ������������������ 텍스트마이닝����������� ������������������ 기술����������� ������������������ 요소����������� ������������������ 참조����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/VeBGL����������� ������������������
����������� ������������������
예)����������� ������������������ Hadoop의����������� ������������������ Mahout����������� ������������������ 서브����������� ������������������ 시스템����������� ������������������
����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
• 32
Opinion����������� ������������������ Mining����������� ������������������
텍스트마이닝����������� ������������������ 분야로����������� ������������������ 일명����������� ������������������ 평판분석����������� ������������������ Sentiment����������� ������������������ Analysis����������� ������������������
소셜미디어����������� ������������������ 등의����������� ������������������ 정형/비정형����������� ������������������ 텍스트의����������� ������������������ 긍정Positive,����������� ������������������ 부정Negative,����������� ������������������ 중립Neutral����������� ������������������ 의����������� ������������������ 선호도를����������� ������������������ 판별����������� ������������������
����������� ������������������
예)����������� ������������������ 소셜네트워크에서����������� ������������������ 서비스/상품의����������� ������������������ ����������� ������������������ 시장규모����������� ������������������ 예측,����������� ������������������ 소비자의����������� ������������������ 반응,����������� ������������������ ����������� ������������������ 입소문����������� ������������������ 분석����������� ������������������ 등을����������� ������������������ 위해����������� ������������������ 활용.����������� ������������������
����������� ������������������
����������� ������������������
SNS에서����������� ������������������ 오피니언마이닝����������� ������������������
����������� ������������������ -����������� ������������������ http://www.slideshare.net/hyummoki/sns-12894995����������� ������������������
����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
연구데이터����������� ������������������ 지원����������� ������������������ /����������� ������������������ 오피니언마이닝을����������� ������������������ 위해����������� ������������������ 데이터����������� ������������������ 제공����������� ������������������ http://lab.naver.com/research/����������� ������������������
• 33
SNS����������� ������������������ Analytics����������� ������������������
소셜네트워크의����������� ������������������ 연결구조,����������� ������������������ 강도����������� ������������������ 등의����������� ������������������ 분석은����������� ������������������ 그래프����������� ������������������ 이론을����������� ������������������ 기반으로����������� ������������������ 한다.����������� ������������������ ����������� ������������������
소셜네트워크����������� ������������������ 사용자의����������� ������������������ 명성,����������� ������������������ 영향력����������� ������������������ 등을����������� ������������������ 측정����������� ������������������ 가능하다.����������� ������������������
����������� ������������������
소셜네트워크����������� ������������������ 내에서����������� ������������������ 입소문의����������� ������������������ ����������� ������������������ 중심,����������� ������������������ 허브����������� ������������������ 역할����������� ������������������ 사용자����������� ������������������ 검색����������� ������������������
이런����������� ������������������ 영향력있는����������� ������������������ Influencer의����������� ������������������ ����������� ������������������ 모니터링,����������� ������������������ 관리를����������� ������������������ 목적����������� ������������������
����������� ������������������
����������� ������������������
소셜����������� ������������������ 네트워크����������� ������������������ 분석����������� ������������������ 사례����������� ������������������
����������� ������������������ -����������� ������������������ http://www.slideshare.net/webscikorea/ss-2659452����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
http://cyram.tistory.com/35����������� ������������������
• 34
Cluster����������� ������������������ Analysis����������� ������������������
군집분석����������� ������������������ Cluster����������� ������������������ Analysis는����������� ������������������ 비슷한����������� ������������������ 개체를����������� ������������������ 합쳐가며����������� ������������������ 최종적으로����������� ������������������ 유사����������� ������������������ 특성의����������� ������������������ 군Group을����������� ������������������ 발굴하는데����������� ������������������ 사용����������� ������������������
예로����������� ������������������ 소셜네트워크에서����������� ������������������ 영화,����������� ������������������ 정치����������� ������������������ 등을����������� ������������������ 주로����������� ������������������ 이야기����������� ������������������ 하는����������� ������������������ 사용자군,����������� ������������������ 자동차에����������� ������������������ 관심있는����������� ������������������ 군을����������� ������������������ 추출����������� ������������������
����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
http://cyram.tistory.com/72����������� ������������������
BigData의����������� ������������������ 분석기법����������� ������������������ ����������� ������������������ 03.����������� ������������������ 주요����������� ������������������ 분석����������� ������������������ Infra����������� ������������������ 기술����������� ������������������
BigData의����������� ������������������ 분석기법����������� ������������������ ����������� ������������������ 03.����������� ������������������ 주요����������� ������������������ 분석����������� ������������������ Infra����������� ������������������ 기술����������� ������������������
• 37
Infra����������� ������������������ structure����������� ������������������
테라,����������� ������������������ 페타,����������� ������������������ 제타����������� ������������������ 바이트����������� ������������������ 이상의����������� ������������������ 데이터를����������� ������������������ 저장,����������� ������������������ 분석을����������� ������������������ 위한����������� ������������������ 인프라����������� ������������������ 기술����������� ������������������ 개발이����������� ������������������ 중요.����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
http://goo.gl/VT5Z4����������� ������������������
• 38
Hadoop����������� ������������������
테라,����������� ������������������ 페타,����������� ������������������ 제타����������� ������������������ 바이트����������� ������������������ 이상의����������� ������������������ 데이터를����������� ������������������ 저장,����������� ������������������ 분석을����������� ������������������ 위한����������� ������������������ 인프라����������� ������������������ 기술����������� ������������������ 개발이����������� ������������������ 중요.����������� ������������������
Hadoop����������� ������������������
����������� ������������������ -����������� ������������������ 오픈소스����������� ������������������ 분산데이터����������� ������������������ 처리����������� ������������������ 기술����������� ������������������
����������� ������������������ -����������� ������������������ HDFS과����������� ������������������ Hbase,����������� ������������������ MapReduce����������� ������������������ 등����������� ������������������ ����������� ������������������ 서브����������� ������������������ 시스템의����������� ������������������ 집합����������� ������������������
����������� ������������������ -����������� ������������������ HDFS,����������� ������������������ Hbase는����������� ������������������ 각각����������� ������������������ 구글����������� ������������������ GFS,����������� ������������������ ����������� ������������������ Big����������� ������������������ Table����������� ������������������ 영향받아����������� ������������������ 비용효율적인����������� ������������������ ����������� ������������������ x86����������� ������������������ 서버로����������� ������������������ 가상화된����������� ������������������ ����������� ������������������ 대형스토리지����������� ������������������ 구성,����������� ������������������ 저장된����������� ������������������ ����������� ������������������ 데이터셋을����������� ������������������ 간편하게����������� ������������������ 분산처리할����������� ������������������ ����������� ������������������ 수����������� ������������������ 있는����������� ������������������ Java기반의����������� ������������������ MapReduce����������� ������������������ 프레임워크����������� ������������������ 제공����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
• 39
R����������� ������������������
오픈소스����������� ������������������ 프로젝트로����������� ������������������ 통계계산����������� ������������������ 및����������� ������������������ 시각화를����������� ������������������ 위한����������� ������������������ 언어����������� ������������������ 및����������� ������������������ 개발환경����������� ������������������
����������� ������������������ -����������� ������������������ 통계기법,����������� ������������������ 모델링,����������� ������������������ 데이터마이닝����������� ������������������ 기법의����������� ������������������ 구현����������� ������������������ /����������� ������������������ 계산����������� ������������������
����������� ������������������ -����������� ������������������ 결과는����������� ������������������ 그래프����������� ������������������ 등의����������� ������������������ 시각화����������� ������������������ 기능����������� ������������������
����������� ������������������ -����������� ������������������ Java,����������� ������������������ C,����������� ������������������ Python과����������� ������������������ 연계����������� ������������������
����������� ������������������ -����������� ������������������ Windows,����������� ������������������ Mac,����������� ������������������ Linux,����������� ������������������ Unix����������� ������������������ 등����������� ������������������ 지원����������� ������������������
����������� ������������������ -����������� ������������������ 하둡����������� ������������������ 상에서����������� ������������������ 분산처리����������� ������������������ 지원����������� ������������������ 라이브러리를����������� ������������������ 통해서����������� ������������������ 구글,����������� ������������������ 페이스북,����������� ������������������ 아마존����������� ������������������ 등����������� ������������������ 빅데이터����������� ������������������ 분석이����������� ������������������ 필요한����������� ������������������ 기업에서����������� ������������������ 사용����������� ������������������
����������� ������������������
����������� ������������������ -����������� ������������������ http://www.r-project.org/����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
• 40
NoSQL����������� ������������������
Not-Only����������� ������������������ SQL,����������� ������������������ No����������� ������������������ SQL!����������� ������������������
테이블����������� ������������������ 스키마가����������� ������������������ 고정되지����������� ������������������ 않고,����������� ������������������ 테이블����������� ������������������ 조인����������� ������������������ 없어����������� ������������������ 수평적����������� ������������������ 확장이����������� ������������������ 용이하다.����������� ������������������ ����������� ������������������
RDB가����������� ������������������ 관계에����������� ������������������ 중점되어����������� ������������������ 일관성이����������� ������������������ 중요시����������� ������������������ 된다면,����������� ������������������
NoSQL은����������� ������������������ 분산����������� ������������������ 가능성에����������� ������������������ 중점을����������� ������������������ 두어����������� ������������������ 일관성과����������� ������������������ 유효성은����������� ������������������ 보장����������� ������������������ 않는다.����������� ������������������
이것은����������� ������������������ 일관성,����������� ������������������ 유효성,����������� ������������������ 분산가능성����������� ������������������ 중����������� ������������������ 2가지만����������� ������������������ 보장한다는����������� ������������������ 분산����������� ������������������ 데이터베이스����������� ������������������ 시스템의����������� ������������������ CAP����������� ������������������ 이론을����������� ������������������ 따른����������� ������������������ 것.����������� ������������������
����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
• 41
주요����������� ������������������ 아키텍처����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
http://plurrimi.wordpress.com/2013/03/14/big-data-architecture/����������� ������������������
BigData����������� ������������������ 분석기법����������� ������������������
• 42
3.����������� ������������������ BigData의����������� ������������������ 활용����������� ������������������
활용사례����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������ ����������� ������������������ 활용사례����������� ������������������
• 44
활용사례����������� ������������������ BigData의����������� ������������������ 활용����������� ������������������
한국지역정보개발원,����������� ������������������ ‘빅����������� ������������������ 데이터����������� ������������������ 시대의����������� ������������������ 데이터����������� ������������������ 활용과����������� ������������������ 전략’����������� ������������������
• 45
교통����������� ������������������
교통정보를����������� ������������������ 분산����������� ������������������ 시스템으로����������� ������������������ 수집����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
http://dblab.pusan.ac.kr/xe/collectstore����������� ������������������
• 46
saltlux.com����������� ������������������
다양한����������� ������������������ 솔루션����������� ������������������
����������� ������������������ -����������� ������������������ http://www.saltlux.com/discovery/����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
• 47
기업은행����������� ������������������
기업은행은����������� ������������������ 2013년����������� ������������������ 빅데이터����������� ������������������ 서비스로����������� ������������������ 인터넷,����������� ������������������ SNS����������� ������������������ 안에서����������� ������������������ 기업은행의����������� ������������������ 평판을����������� ������������������ 분석해����������� ������������������ 마케팅����������� ������������������ 등에����������� ������������������ 활용����������� ������������������ 계획����������� ������������������
����������� ������������������ -����������� ������������������ 은행의����������� ������������������ 긍정,����������� ������������������ 부정����������� ������������������ 내용을����������� ������������������ 분석해����������� ������������������ 이용����������� ������������������
����������� ������������������ -����������� ������������������ 2013년����������� ������������������ 초에����������� ������������������ 데이터����������� ������������������ 분석����������� ������������������ 시작����������� ������������������
����������� ������������������
단,����������� ������������������ 민감한����������� ������������������ 금융,����������� ������������������ 고객����������� ������������������ 개인����������� ������������������ 데이터에����������� ������������������ 대한����������� ������������������ 분석은����������� ������������������ 개인정보보호에����������� ������������������ 대한����������� ������������������ 우려가����������� ������������������ 있기����������� ������������������ 때문에����������� ������������������ 주로����������� ������������������ 명성����������� ������������������ 분석,����������� ������������������ 시장����������� ������������������ 분석����������� ������������������ 등에����������� ������������������ 활용되는����������� ������������������ 추세다.����������� ������������������ ����������� ������������������
IT����������� ������������������ 업계����������� ������������������ 관계자는����������� ������������������ "대규모����������� ������������������ 고객정보와����������� ������������������ 금융����������� ������������������ 정보����������� ������������������ 등을����������� ������������������ 분석하는����������� ������������������ 것에는����������� ������������������ 우려가����������� ������������������ 있는����������� ������������������ 것이����������� ������������������ 사실"이라며����������� ������������������ "명확한����������� ������������������ 규정과����������� ������������������ 가이드라인����������� ������������������ 등이����������� ������������������ 나오기까지는����������� ������������������ 명성����������� ������������������ 분석이����������� ������������������ 주류를����������� ������������������ 이룰����������� ������������������ 것으로����������� ������������������ 보인다"고����������� ������������������ 말했다.����������� ������������������ 당분간����������� ������������������ 금융기관들의����������� ������������������ 빅데이터����������� ������������������ 활용은����������� ������������������ 평판����������� ������������������ 분석에����������� ������������������ 초점이����������� ������������������ 맞춰질����������� ������������������ 것으로����������� ������������������ 전망된다.����������� ������������������
����������� ������������������
����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
http://www.dt.co.kr/contents.html?article_no=2013010402010457739006����������� ������������������
• 48
빅데이터����������� ������������������ 프로젝트����������� ������������������
• 전자정부����������� ������������������ 빅데이터����������� ������������������ 시범����������� ������������������ 프로젝트����������� ������������������
• 삼성전자����������� ������������������ 빅데이터����������� ������������������ 표준����������� ������������������ 플랫폼����������� ������������������ 선정����������� ������������������
• 기업은행����������� ������������������
• 코오롱����������� ������������������
• GS샵����������� ������������������ ����������� ������������������
����������� ������������������
http://goo.gl/wnHWS����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
• 49
클라우드����������� ������������������ 서비스����������� ������������������
클라우드를����������� ������������������ 통해����������� ������������������ 데이터����������� ������������������ 스토리지����������� ������������������ 제공����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
http://goo.gl/wmgb5
• 50
구글����������� ������������������ 클라우드����������� ������������������ 데이트스토어����������� ������������������
클라우드����������� ������������������ 데이터스토어는����������� ������������������ NoSQL과����������� ������������������ 같은����������� ������������������ 비관계형����������� ������������������ DB를����������� ������������������ 관리할����������� ������������������ 수����������� ������������������ 있게����������� ������������������ 도와준다����������� ������������������
SQL����������� ������������������ 같은����������� ������������������ 방식으로����������� ������������������ 질의를����������� ������������������ 처리하고����������� ������������������ AICD����������� ������������������ 트랜잭션도����������� ������������������ 보장한다����������� ������������������
����������� ������������������
https://developers.google.com/datastore/����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
• 51
구글����������� ������������������ 클라우드����������� ������������������ 데이트스토어����������� ������������������
클라우드����������� ������������������ 데이터스토어는����������� ������������������ NoSQL과����������� ������������������ 같은����������� ������������������ 비관계형����������� ������������������ DB를����������� ������������������ 관리할����������� ������������������ 수����������� ������������������ 있게����������� ������������������ 도와준다����������� ������������������
SQL����������� ������������������ 같은����������� ������������������ 방식으로����������� ������������������ 질의를����������� ������������������ 처리하고����������� ������������������ AICD����������� ������������������ 트랜잭션도����������� ������������������ 보장한다����������� ������������������
����������� ������������������
https://developers.google.com/datastore/����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
• 52
ucloud����������� ������������������ MapReduce����������� ������������������
KT����������� ������������������ Ucloud����������� ������������������ 에서����������� ������������������ 제공하는����������� ������������������ Hadoop����������� ������������������ 서비스����������� ������������������
����������� ������������������ -����������� ������������������ https://ucloudbiz.olleh.com/portal/ktcloudportal.epc.productintro.mapreduce.html����������� ������������������
• 53 53
클라우드����������� ������������������ 서버에서����������� ������������������ 앱����������� ������������������ 서비스를����������� ������������������ 위한����������� ������������������ 공간을����������� ������������������ 제공하고����������� ������������������ 여러����������� ������������������ 기능을����������� ������������������ 이용할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ Open����������� ������������������ API를����������� ������������������ 준비해준다.����������� ������������������ 개발자는����������� ������������������ RestFull����������� ������������������ 기반의����������� ������������������ Open����������� ������������������ API����������� ������������������ 를����������� ������������������ 호출하기만����������� ������������������ 하면����������� ������������������ 서버����������� ������������������ 공간에����������� ������������������ 자신만의����������� ������������������ 백엔드����������� ������������������ 서비스를����������� ������������������ 손쉽게����������� ������������������ 구축할����������� ������������������ 수����������� ������������������ 있다.����������� ������������������
baas.io����������� ������������������ 서비스����������� ������������������
https://api.baas.io/<user_id>/<app_name>����������� ������������������
BigData의����������� ������������������ 활용����������� ������������������
• 54 54
����������� ������������������ ����������� ������������������ http://evanmuehlhausen.com/data-mining-local-radio-with-nodejs/����������� ������������������
datamining����������� ������������������ with����������� ������������������ node����������� ������������������ BigData의����������� ������������������ 활용����������� ������������������
• 55
3.����������� ������������������ Hadoop����������� ������������������
01.����������� ������������������ Hadoop����������� ������������������ 소개����������� ������������������
02.����������� ������������������ Hadoop����������� ������������������ ECO����������� ������������������ System����������� ������������������
03.����������� ������������������ Installation����������� ������������������
����������� ������������������
3.����������� ������������������ Hadoop����������� ������������������
01.����������� ������������������ Hadoop����������� ������������������ 소개����������� ������������������
• 57
Hadoop����������� ������������������ overview����������� ������������������
ds����������� ������������������
Hadoop����������� ������������������
• 58
Hadoop기반����������� ������������������ 분석����������� ������������������ Hadoop����������� ������������������
• 59
BigData����������� ������������������ stack����������� ������������������
BigData����������� ������������������ 분석/처리/결과를����������� ������������������ 위한����������� ������������������ 스택����������� ������������������
Hadoop����������� ������������������
http://www.slideshare.net/Channy/daums-hadoop-usecases
• 60
Hadoop����������� ������������������ stack����������� ������������������
Hadoop의����������� ������������������ core와����������� ������������������ sub����������� ������������������ system����������� ������������������
Hadoop����������� ������������������
http://www.slideshare.net/Channy/daums-hadoop-usecases
• 61
Hadoop����������� ������������������ HDFS����������� ������������������
highly����������� ������������������ fault-tolerant,����������� ������������������ on����������� ������������������ low-cost����������� ������������������ hardware.����������� ������������������
Hadoop����������� ������������������
http://goo.gl/8ogSk
• 62
Daum����������� ������������������ 사례����������� ������������������
하둡을����������� ������������������ 이용한����������� ������������������ 다음����������� ������������������ 로그����������� ������������������ 분석����������� ������������������
Hadoop����������� ������������������
http://www.slideshare.net/Channy/daums-hadoop-usecases
• 63
하둡적용����������� ������������������ 사례����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
http://blrunner.tistory.com/41����������� ������������������
Hadoop����������� ������������������
3.����������� ������������������ Hadoop����������� ������������������
02.����������� ������������������ Hadoop����������� ������������������ ECO����������� ������������������ System����������� ������������������
• 65
Hadoop����������� ������������������ ECO����������� ������������������ System����������� ������������������ Hadoop����������� ������������������
http://blrunner.tistory.com/18
• 66
Hadoop����������� ������������������ ECO����������� ������������������ System����������� ������������������ 요소기술����������� ������������������ Hadoop����������� ������������������
미래사회와 빅 데이터(Big Data)기술
• 67
Zookeeper����������� ������������������
http://zookeeper.apache.org/����������� ������������������
분산����������� ������������������ 환경에서����������� ������������������ 서버들간에����������� ������������������ 상호����������� ������������������ 조정이����������� ������������������ 필요한����������� ������������������ 다양한����������� ������������������ 서비스를����������� ������������������ 제공하는����������� ������������������ 시스템����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������ 첫째,����������� ������������������ 하나의����������� ������������������ 서버에만����������� ������������������ 서비스가����������� ������������������ 집중되지����������� ������������������ 않도록,����������� ������������������ 서비스를����������� ������������������ 알맞게����������� ������������������ 분산하여����������� ������������������ 동시에����������� ������������������
처리����������� ������������������
둘째,����������� ������������������ 하나의����������� ������������������ 서버에서����������� ������������������ 처리한����������� ������������������ 결과를����������� ������������������ 다른����������� ������������������ 서버들과도����������� ������������������ 동기화하여����������� ������������������ 데이터의����������� ������������������ 안정성을����������� ������������������ 보장한다.����������� ������������������
셋째,����������� ������������������ 운영(active)����������� ������������������ 서버가����������� ������������������ 문제가����������� ������������������ 발생해서����������� ������������������ 서비스를����������� ������������������ 제공할����������� ������������������ 수����������� ������������������ 없을����������� ������������������ 경우,����������� ������������������ 다른����������� ������������������ 대기����������� ������������������ 중인����������� ������������������ 서버를����������� ������������������ 운영서버로����������� ������������������ 바꿔서����������� ������������������ 서비스가����������� ������������������ 중지����������� ������������������ 없이����������� ������������������ 제공되게����������� ������������������ 해준다.����������� ������������������
넷째,����������� ������������������ 분산����������� ������������������ 환경을����������� ������������������ 구성하는����������� ������������������ 서버들의����������� ������������������ 환경설정을����������� ������������������ 통합적으로����������� ������������������ 관리해준다.����������� ������������������
Hadoop����������� ������������������
• 68
Oozie����������� ������������������
http://incubator.apache.org/oozie����������� ������������������
하둡����������� ������������������ 작업을����������� ������������������ 관리하는����������� ������������������ 워크플로우����������� ������������������ 및����������� ������������������ 코디네이터����������� ������������������ 시스템.����������� ������������������
자바����������� ������������������ 서블릿����������� ������������������ 컨테이너에서����������� ������������������ 실행되는����������� ������������������ 자바����������� ������������������ 웹����������� ������������������ 애플리케이션����������� ������������������ 서버이며,����������� ������������������ MapReduce����������� ������������������ 작업이나����������� ������������������ Pig����������� ������������������ 작업����������� ������������������ 같은����������� ������������������ 특화된����������� ������������������ 액션들로����������� ������������������ 구성된����������� ������������������ 워크����������� ������������������ 플로우를����������� ������������������ 제어.����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
• 69
HBase����������� ������������������
http://hbase.apache.org����������� ������������������
HDFS����������� ������������������ 기반의����������� ������������������ 칼럼����������� ������������������ 기반����������� ������������������ 데이터����������� ������������������ 베이스.����������� ������������������ 구글의����������� ������������������ BigTable����������� ������������������ 논문을����������� ������������������ 기반으로����������� ������������������ 개발되어,����������� ������������������ 실시간����������� ������������������ 랜덤����������� ������������������ 조회����������� ������������������ 및����������� ������������������ 업데이트가����������� ������������������ 가능하며,����������� ������������������ 각����������� ������������������ 각의����������� ������������������ 프로세스들은����������� ������������������ 개인의����������� ������������������ 데이터를����������� ������������������ 비동기적으로����������� ������������������ 업데이트할����������� ������������������ 수����������� ������������������ 있다.����������� ������������������
단,����������� ������������������ MapReduce는����������� ������������������ 일괄����������� ������������������ 처리����������� ������������������ 방식으로����������� ������������������ 수행된다.����������� ������������������ ����������� ������������������
트위터,����������� ������������������ 야후,����������� ������������������ 어도비����������� ������������������ 같은����������� ������������������ 해외����������� ������������������ 업체들이����������� ������������������ HBase를����������� ������������������ 사용하고����������� ������������������ 있으며,����������� ������������������ 국내에서는����������� ������������������ 얼마����������� ������������������ 전����������� ������������������ NHN이����������� ������������������ 모바일����������� ������������������ 메신저인����������� ������������������ 라인에����������� ������������������ HBase를����������� ������������������ 적용한����������� ������������������ 시스템����������� ������������������ 아키텍처를����������� ������������������ 발표����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
http://goo.gl/A1qy8
• 70
Pig����������� ������������������
http://pig.apache.org����������� ������������������
복잡한����������� ������������������ MapReduce����������� ������������������ 프로그래밍을����������� ������������������ 대체할����������� ������������������ Pig����������� ������������������ Latin이라는����������� ������������������ 자체����������� ������������������ 언어를����������� ������������������ 제공한다.����������� ������������������ MapReduce����������� ������������������ API를����������� ������������������ 매우����������� ������������������ 단순화시키고,����������� ������������������ SQL과����������� ������������������ 유사한����������� ������������������ 형태로����������� ������������������ 설계되어,����������� ������������������ ����������� ������������������ SQL과����������� ������������������ 유사하기만����������� ������������������ 할����������� ������������������ 뿐,����������� ������������������ 기존����������� ������������������ ����������� ������������������ SQL����������� ������������������ 지식을����������� ������������������ 활용하는����������� ������������������ 것이����������� ������������������ ����������� ������������������ 어려운����������� ������������������ 편이다.����������� ������������������
야후에서����������� ������������������ 개발되었으나����������� ������������������ 현재는����������� ������������������ ����������� ������������������ 아파치����������� ������������������ 프로젝트에����������� ������������������ 속해있다.����������� ������������������ ����������� ������������������
����������� ������������������
Hadoop����������� ������������������
http://goo.gl/8cxyI
• 71
Hive����������� ������������������
http://hive.apache.org����������� ������������������
하둡����������� ������������������ 기반의����������� ������������������ 데이터웨어하우징용����������� ������������������ 솔루션입니다.����������� ������������������ ����������� ������������������
페이스북에서����������� ������������������ 개발됐으며,����������� ������������������ ����������� ������������������ 오픈����������� ������������������ 소스로����������� ������������������ 공개되며����������� ������������������ 주목����������� ������������������
SQL과����������� ������������������ 매우����������� ������������������ 유사한����������� ������������������ HiveQL����������� ������������������ 제공����������� ������������������
자바를����������� ������������������ 모르는����������� ������������������ 데이터����������� ������������������ 분석가도����������� ������������������ ����������� ������������������ 쉽게����������� ������������������ 하둡����������� ������������������ 데이터를����������� ������������������ 분석할����������� ������������������ 수����������� ������������������ ����������� ������������������ 있게����������� ������������������ 도와준다.����������� ������������������ ����������� ������������������
HiveQL은����������� ������������������ 내부적으로����������� ������������������ ����������� ������������������ MapReduce����������� ������������������ 잡으로����������� ������������������ ����������� ������������������ 변환되어����������� ������������������ 실행된다.����������� ������������������
Hadoop����������� ������������������
http://goo.gl/2pwHi
• 72
Mahout����������� ������������������
http://mahout.apache.org����������� ������������������
하둡����������� ������������������ 기반으로����������� ������������������ 데이터����������� ������������������ 마이닝����������� ������������������ 알고리즘을����������� ������������������ 구현한����������� ������������������ 오픈����������� ������������������ 소스����������� ������������������
현재����������� ������������������ 분류����������� ������������������ (classification),����������� ������������������ 클러스터링����������� ������������������ (clustering),����������� ������������������ 추천����������� ������������������ 및����������� ������������������ 협업����������� ������������������ 필터링����������� ������������������ (Recommenders/collaborative����������� ������������������ filtering),����������� ������������������ 패턴����������� ������������������ 마이닝����������� ������������������ (Pattern����������� ������������������ Mining),����������� ������������������ 회귀����������� ������������������ 분석����������� ������������������ (Regression),����������� ������������������ 차원����������� ������������������ 리덕션����������� ������������������ (Dimension����������� ������������������ reduction),����������� ������������������ 진화����������� ������������������ 알고리즘����������� ������������������ (Evolutionary����������� ������������������ Algorithms)����������� ������������������ 등����������� ������������������ 중요한����������� ������������������ 알고리즘을����������� ������������������ 지원하고����������� ������������������ 있다.����������� ������������������ Mahout을����������� ������������������ 그대로����������� ������������������ 사용할����������� ������������������ 수도����������� ������������������ 있지만,����������� ������������������ 자신의����������� ������������������ 비즈니스����������� ������������������ 환경에����������� ������������������ 맞게����������� ������������������ 최적화해서����������� ������������������ 사용한다.����������� ������������������
Hadoop����������� ������������������
• 73
HCatalog����������� ������������������
http://incubator.apache.org/hcatalog����������� ������������������
하둡으로����������� ������������������ 생성한����������� ������������������ 데이터를����������� ������������������ 위한����������� ������������������ 테이블,����������� ������������������ 스토리지����������� ������������������ 관리����������� ������������������ 서비스����������� ������������������
가장����������� ������������������ 큰����������� ������������������ 장점은����������� ������������������ 하둡����������� ������������������ 에코����������� ������������������ 시스템들간의����������� ������������������ 상호����������� ������������������ 운용성����������� ������������������ 이다.����������� ������������������ 예를����������� ������������������ 들어����������� ������������������ Hive에서����������� ������������������ 생성한����������� ������������������ 테이블이나����������� ������������������ 데이터����������� ������������������ 모델을����������� ������������������ Pig나����������� ������������������ MapReduce에서����������� ������������������ 손쉽게����������� ������������������ 이용할����������� ������������������ 수가����������� ������������������ 있다.����������� ������������������ ����������� ������������������
이전에는����������� ������������������ 상당한����������� ������������������ 백엔드����������� ������������������ 작업이����������� ������������������ 필요했다.����������� ������������������
Hadoop����������� ������������������
http://goo.gl/9jwtf
• 74
Avro����������� ������������������
http://avro.apache.org����������� ������������������
RPC(Remote����������� ������������������ Procedure����������� ������������������ Call)과����������� ������������������ 데이터����������� ������������������ 직렬화를����������� ������������������ 지원하는����������� ������������������ 프레임워크로����������� ������������������ JSON을����������� ������������������ 이용해����������� ������������������ 데이터����������� ������������������ 형식과����������� ������������������ 프로토콜을����������� ������������������ 정의하며,����������� ������������������ 작고����������� ������������������ 빠른����������� ������������������ 바이너리����������� ������������������ 포맷으로����������� ������������������ 데이터를����������� ������������������ 직렬화한다.����������� ������������������
Hadoop����������� ������������������
http://goo.gl/8FMFm
• 75
Chukwa����������� ������������������
http://incubator.apache.org/chukwa����������� ������������������
분산����������� ������������������ 환경에서����������� ������������������ 생성되는����������� ������������������ 데이터를����������� ������������������ HDFS에����������� ������������������ 안정적으로����������� ������������������ 저장시키는����������� ������������������ 플랫폼으로����������� ������������������ 분산된����������� ������������������ 각����������� ������������������ 서버에서����������� ������������������ 에이전트(agent)를����������� ������������������ 실행하고,����������� ������������������ 콜랙터(collector)가����������� ������������������ 에이전트로부터����������� ������������������ 데이터를����������� ������������������ 받아����������� ������������������ HDFS에����������� ������������������ 저장한다.����������� ������������������ 콜렉터는����������� ������������������ 100개의����������� ������������������ 에이전트당����������� ������������������ 하나씩����������� ������������������ 구동되며,����������� ������������������ 데이터����������� ������������������ 중복����������� ������������������ 제거����������� ������������������ 등의����������� ������������������ 작업은����������� ������������������ MapReduce로����������� ������������������ 처리한다.����������� ������������������ ����������� ������������������
야후에서����������� ������������������ 개발됐으며,����������� ������������������ 현재는����������� ������������������ 아파치����������� ������������������ 인큐베이션에����������� ������������������ 포함����������� ������������������
Hadoop����������� ������������������
http://rocksea.tistory.com/59
• 76
Flume����������� ������������������
http://flume.apache.org/����������� ������������������
Chukwa����������� ������������������ 처럼����������� ������������������ 분산된����������� ������������������ 서버에����������� ������������������ 에이전트가����������� ������������������ 설치되고,����������� ������������������ 에이전트로부터����������� ������������������ 데이터를����������� ������������������ 전달받는����������� ������������������ 콜랙터로����������� ������������������ 구성된다.����������� ������������������ ����������� ������������������
차이점은����������� ������������������ 전체����������� ������������������ 데이터의����������� ������������������ 흐름을����������� ������������������ 관리하는����������� ������������������ 마스터����������� ������������������ 서버가����������� ������������������ 있어서,����������� ������������������ 데이터를����������� ������������������ 어디서����������� ������������������ 수집하고,����������� ������������������ 어떤����������� ������������������ 방식으로����������� ������������������ 전송하고,����������� ������������������ 어디에����������� ������������������ 저장할����������� ������������������ 지를����������� ������������������ 동적으로����������� ������������������ 변경할����������� ������������������ 수가����������� ������������������ 있다.����������� ������������������ ����������� ������������������
클라우드데라에서����������� ������������������ 개발됐으며,����������� ������������������ 현재는����������� ������������������ 아파치����������� ������������������ 인큐베이션에����������� ������������������ 포함되어����������� ������������������ 있다.����������� ������������������
Hadoop����������� ������������������
• 77
Scribe����������� ������������������
https://github.com/facebook/scribe����������� ������������������
페이스북에서����������� ������������������ 개발한����������� ������������������ 데이터����������� ������������������ 수집����������� ������������������ 플랫폼이며,����������� ������������������ Chukwa와는����������� ������������������ 다르게����������� ������������������ 데이터를����������� ������������������ 중앙����������� ������������������ 집중����������� ������������������ 서버로����������� ������������������ 전송하는����������� ������������������ 방식이다.����������� ������������������ 최종����������� ������������������ 데이터는����������� ������������������ HDFS외에����������� ������������������ 다양한����������� ������������������ 저장소를����������� ������������������ 활용할����������� ������������������ 수����������� ������������������ 있으며,����������� ������������������ 설치와����������� ������������������ 구성이����������� ������������������ 쉽게����������� ������������������ 다양한����������� ������������������ 프로그램����������� ������������������ 언어를����������� ������������������ 지원한다.����������� ������������������ HDFS에����������� ������������������ 저장하기����������� ������������������ 위해서는����������� ������������������ JNI(Java����������� ������������������ Native����������� ������������������ Interface)를����������� ������������������ 이용해야����������� ������������������ 한다.����������� ������������������
����������� ������������������
Hadoop����������� ������������������
http://tedwon.com/display/dev/Facebook+Scribe
• 78
Sqoop����������� ������������������
http://sqoop.apache.org����������� ������������������
대용량����������� ������������������ 데이터����������� ������������������ 전송����������� ������������������ 솔루션이며,����������� ������������������ ����������� ������������������ 2012/4월����������� ������������������ 아파치의����������� ������������������ top-level����������� ������������������ ����������� ������������������ 프로젝트가����������� ������������������ 됐다.����������� ������������������ Sqoop은����������� ������������������ HDFS,����������� ������������������ ����������� ������������������ RDBMS,����������� ������������������ DW,����������� ������������������ NoSQL등����������� ������������������ 다양한����������� ������������������ ����������� ������������������ 저장소에����������� ������������������ 대용량����������� ������������������ 데이터를����������� ������������������ 신속하게����������� ������������������ ����������� ������������������ 전송할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 방법을����������� ������������������ 제공한다.����������� ������������������ ����������� ������������������ Oracle,����������� ������������������ MS-SQL,����������� ������������������ DB2����������� ������������������ 등과����������� ������������������ 같은����������� ������������������ ����������� ������������������ 상용����������� ������������������ RDBMS와����������� ������������������ MySQL,����������� ������������������ ����������� ������������������ PostgresSQL과����������� ������������������ 같은����������� ������������������ 오픈소스����������� ������������������ ����������� ������������������ RDBMS등을����������� ������������������ 지원한다.����������� ������������������ ����������� ������������������
Hadoop����������� ������������������
http://goo.gl/sn46m
• 79
Hiho����������� ������������������
https://github.com/sonalgoyal/hiho����������� ������������������
Sqoop과����������� ������������������ 같은����������� ������������������ 대용량����������� ������������������ 데이터����������� ������������������ 전송����������� ������������������ 솔루션이며,����������� ������������������ 현재����������� ������������������ github에서����������� ������������������ 공개되어����������� ������������������ 있다.����������� ������������������ 하둡에서����������� ������������������ 데이터를����������� ������������������ 가져오기����������� ������������������ 위한����������� ������������������ SQL을����������� ������������������ 지정할����������� ������������������ 수����������� ������������������ 있으며,����������� ������������������ JDBC����������� ������������������ 인터페이스를����������� ������������������ 지원한다.����������� ������������������ ����������� ������������������
현재는����������� ������������������ Oracle과����������� ������������������ MySQL의����������� ������������������ 데이터����������� ������������������ 전송만����������� ������������������ 지원한다.����������� ������������������
Hadoop����������� ������������������
http://nubetech.co/products/hiho
• 80
Impala����������� ������������������
https://github.com/cloudera/impala����������� ������������������
클라우드데라의����������� ������������������ 하둡����������� ������������������ 기반의����������� ������������������ ����������� ������������������ 실시간����������� ������������������ SQL����������� ������������������ query����������� ������������������ 시스템.����������� ������������������ ����������� ������������������
맵리듀스를����������� ������������������ 사용하지����������� ������������������ 않고,����������� ������������������ 자체����������� ������������������ ����������� ������������������ 개발한����������� ������������������ 엔진을����������� ������������������ 사용해����������� ������������������ 빠른����������� ������������������ ����������� ������������������ 성능을����������� ������������������ 보여준다.����������� ������������������ Impala는����������� ������������������ ����������� ������������������ 데이터����������� ������������������ 조회를����������� ������������������ 위한����������� ������������������ 인터페이스����������� ������������������ 로,����������� ������������������ HiveQL을����������� ������������������ 사용한다.����������� ������������������ ����������� ������������������ 수초����������� ������������������ 내에����������� ������������������ SQL����������� ������������������ 질의����������� ������������������ 결과를����������� ������������������ ����������� ������������������ 확인할����������� ������������������ 수����������� ������������������ 있으며,����������� ������������������ HBase와도����������� ������������������ ����������� ������������������ 연동이����������� ������������������ 가능하다.����������� ������������������
Hadoop����������� ������������������
http://goo.gl/3GEvu
• 81
Tajo����������� ������������������
http://tajo.incubator.apache.org����������� ������������������
고려대학교����������� ������������������ 정보통신대학����������� ������������������ 컴퓨터학과����������� ������������������ DB연구실����������� ������������������ 박사����������� ������������������ 과정학생들이����������� ������������������ 주도해서����������� ������������������ 개발한����������� ������������������ 하둡����������� ������������������ 기반의����������� ������������������ DW����������� ������������������ 시스템.����������� ������������������ 2013년����������� ������������������ 아파치����������� ������������������ 재단의����������� ������������������ 인큐베이션����������� ������������������ 프로젝트로����������� ������������������ 선정되었다.����������� ������������������
데이터����������� ������������������ 저장소는����������� ������������������ HDFS를����������� ������������������ 사용하되,����������� ������������������ 표준DB언어인����������� ������������������ SQL을����������� ������������������ 통해����������� ������������������ 실시간으로����������� ������������������ 데이터를����������� ������������������ 조회할����������� ������������������ 수����������� ������������������ 있다.����������� ������������������ Hive보다����������� ������������������ 2~3배����������� ������������������ 빠르며,����������� ������������������ 클라우드데라의����������� ������������������ 임팔라(Impala)와는����������� ������������������ 비슷한����������� ������������������ 속도를����������� ������������������ 보여준다.����������� ������������������ 임팔라가����������� ������������������ 클라우드데라의����������� ������������������ 하둡을����������� ������������������ 써야����������� ������������������ 하는����������� ������������������ 제약에����������� ������������������ 비해,����������� ������������������ 특정����������� ������������������ 업체����������� ������������������ 솔루션에����������� ������������������ 종속되지����������� ������������������ 않는����������� ������������������ 장점이����������� ������������������ 있다����������� ������������������
Hadoop����������� ������������������
6.����������� ������������������ Hadoop����������� ������������������
03.����������� ������������������ Installation����������� ������������������
• 83
Prerequisites����������� ������������������
Required����������� ������������������ SW����������� ������������������
����������� ������������������ -����������� ������������������ Java����������� ������������������ 1.6.x����������� ������������������ 이상����������� ������������������
����������� ������������������ -����������� ������������������ ssh와����������� ������������������ sshd����������� ������������������
����������� ������������������
Windows����������� ������������������
����������� ������������������ -����������� ������������������ Cygwin����������� ������������������
����������� ������������������
Hadoop����������� ������������������
http://hadoop.apache.org/docs/stable/single_node_setup.html����������� ������������������
6.����������� ������������������ Hadoop����������� ������������������
Single����������� ������������������ node����������� ������������������ Installation����������� ������������������ on����������� ������������������ Mac����������� ������������������
• 85
Hadoop����������� ������������������ mode����������� ������������������
Hadoop����������� ������������������ runtime����������� ������������������ 은����������� ������������������ 아래����������� ������������������ 세����������� ������������������ 가지����������� ������������������ 모드로����������� ������������������ 가능.����������� ������������������
����������� ������������������
• Standalone����������� ������������������ • 현재����������� ������������������ 프로세스에서����������� ������������������ 단독����������� ������������������ JVM으로����������� ������������������ 시작,����������� ������������������ 테스트����������� ������������������ &����������� ������������������ 디버깅용����������� ������������������
• Pseudo-distributed����������� ������������������ mode����������� ������������������ • 하둡����������� ������������������ 데몬이����������� ������������������ 동작해서����������� ������������������ 클러스터를����������� ������������������ 시뮬레이션����������� ������������������ 가능함����������� ������������������
• Fully����������� ������������������ distributed����������� ������������������ mode����������� ������������������ • 하둡����������� ������������������ 데몬이����������� ������������������ 여러����������� ������������������ 컴퓨터에����������� ������������������ 그룹으로����������� ������������������ 구성����������� ������������������
����������� ������������������
Hadoop����������� ������������������
• 86
Prerequisites����������� ������������������ on����������� ������������������ the����������� ������������������ OSX����������� ������������������
XCode����������� ������������������ 4.3.2����������� ������������������
����������� ������������������ -����������� ������������������ 명령라인����������� ������������������ 도구를����������� ������������������ 설치:����������� ������������������ ����������� ������������������ Xcode의����������� ������������������ Preferences����������� ������������������ 메뉴로����������� ������������������ 가서����������� ������������������ Downloads����������� ������������������ 패널로����������� ������������������ 갑니다.����������� ������������������ 이곳에서����������� ������������������ 'Command����������� ������������������ Line����������� ������������������ Tools'를����������� ������������������ 설치합니다.����������� ������������������
Java����������� ������������������ Developer����������� ������������������ for����������� ������������������ 10.7����������� ������������������
����������� ������������������
ssh,����������� ������������������ sshd����������� ������������������ 설치����������� ������������������ 필요����������� ������������������
����������� ������������������
Homebrew����������� ������������������
Hadoop����������� ������������������
Hadoop����������� ������������������ 설치����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/yRCYp����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/xsnff����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/wljkC����������� ������������������
• 87
Homebrew����������� ������������������
Mac����������� ������������������ OS����������� ������������������ X에����������� ������������������ 기본으로����������� ������������������ 포함되어����������� ������������������ 있지����������� ������������������ 않은����������� ������������������ UNIX����������� ������������������ 도구들을����������� ������������������ 유연하게����������� ������������������ 설치����������� ������������������ 및����������� ������������������ 관리하게����������� ������������������ 도와주는����������� ������������������ 도구로,����������� ������������������ 기존의����������� ������������������ MacPorts����������� ������������������ 또는����������� ������������������ Fink에����������� ������������������ 비해서����������� ������������������ 여러모로����������� ������������������ 패키지를����������� ������������������ 설치,����������� ������������������ 관리가����������� ������������������ 편리.����������� ������������������
����������� ������������������
homebrew를����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 설치����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
homebrew����������� ������������������ doctor����������� ������������������ ����������� ������������������ 명령을����������� ������������������ 실행해����������� ������������������ 이상없는지����������� ������������������ 확인.����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
$ brew doctor $ brew update
Homebrew����������� ������������������ 설치����������� ������������������ ����������� ������������������ ����������� ������������������ -����������� ������������������ http://mxcl.github.io/homebrew/����������� ������������������ ����������� ������������������ -����������� ������������������ http://goo.gl/Uu7p8����������� ������������������ ����������� ������������������
• 88
Install����������� ������������������ Hadoop����������� ������������������
install����������� ������������������ hadoop����������� ������������������ by����������� ������������������ brew����������� ������������������
Hadoop����������� ������������������
$ brew install hadoop ==> Downloading http://www.apache.org/dyn/closer.cgi?path=hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz ==> Best Mirror http://apache.tt.co.kr/hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz ####################################################################### 99.2% ######################################################################## 100.0% ==> Caveats In Hadoop's config file: /usr/local/Cellar/hadoop/1.1.2/libexec/conf/hadoop-env.sh $JAVA_HOME has been set to be the output of: /usr/libexec/java_home ==> Summary 🍺 /usr/local/Cellar/hadoop/1.1.2: 271 files, 78M, built in 49.1 minutes
$ hadoop version Hadoop 1.1.2 Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.1 -r 1440782 Compiled by hortonfo on Thu Jan 31 02:03:24 UTC 2013 From source with checksum c720ddcf4b926991de7467d253a79b8b
• 89
Hadoop����������� ������������������ directories����������� ������������������
Mac에서����������� ������������������ 설치한����������� ������������������ Hadoop����������� ������������������ runtime은����������� ������������������ ����������� ������������������
/usr/local/opt/hadoop����������� ������������������ ����������� ������������������ ���������� ������������������ ����������� ������������������ /usr/local/Cellar/hadoop/1.1.2/����������� ������������������
����������� ������������������
설정����������� ������������������ 디렉토리����������� ������������������
/usr/local/Cellar/hadoop/1.1.2/libexec/conf����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$HADOOP_HOME����������� ������������������
• 90
conf/hadoop-env.sh����������� ������������������
맥에서����������� ������������������ “Unable����������� ������������������ to����������� ������������������ load����������� ������������������ realm����������� ������������������ info����������� ������������������ from����������� ������������������ SCDynamicStore”����������� ������������������ 에러를����������� ������������������ 방지하기����������� ������������������ 위히����������� ������������������ 아래����������� ������������������ 라인을����������� ������������������ 추가����������� ������������������
����������� ������������������
Hadoop����������� ������������������
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
• 91
conf/core-site.xml����������� ������������������
기본����������� ������������������ 설정����������� ������������������
Hadoop����������� ������������������
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>hadoop.tmp.dir</name> <value>/Users/${user.name}/hadoop-store</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:8020</value> </property> </configuration>
• 92
conf/mapred-site.xml����������� ������������������
기본����������� ������������������ 설정����������� ������������������
Hadoop����������� ������������������
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> <property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>2</value> </property> <property> <name>mapred.tasktracker.reduce.tasks.maximum</name> <value>2</value> </property> </configuration>
• 93
conf/hdfs-site.xml����������� ������������������
기본����������� ������������������ 설정����������� ������������������
Hadoop����������� ������������������
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
• 94
SSH����������� ������������������
설정한����������� ������������������ localhost����������� ������������������ 를����������� ������������������ 위한����������� ������������������ 아래와����������� ������������������ 같이����������� ������������������ ssh����������� ������������������ key����������� ������������������ 필요����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 비밀키:����������� ������������������ ����������� ������������������ ~/.ssh/id_rsa����������� ������������������
����������� ������������������ ����������� ������������������ -����������� ������������������ 공개키:����������� ������������������ ~/.ssh/id_rsa.pub����������� ������������������
����������� ������������������
아래와����������� ������������������ 같이����������� ������������������ 키를����������� ������������������ 생성����������� ������������������ 할����������� ������������������ 수����������� ������������������ 있다.����������� ������������������
Hadoop����������� ������������������
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/wanheecho/.ssh/id_rsa): …
• 95
SSH����������� ������������������ 접속����������� ������������������ 허용����������� ������������������
맥에서����������� ������������������ 외부����������� ������������������ 접속을����������� ������������������ 허용해주어야����������� ������������������ 한다.����������� ������������������
“System����������� ������������������ Preferences”����������� ������������������ ->����������� ������������������ “Sharing”����������� ������������������ ����������� ������������������ 에서����������� ������������������ ����������� ������������������ “Remote����������� ������������������ login”����������� ������������������ 체크����������� ������������������
����������� ������������������
����������� ������������������
그리고����������� ������������������ 하둡간����������� ������������������ 자동로그인을����������� ������������������ 위해����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
• 96
SSH����������� ������������������ 접속����������� ������������������ 테스트����������� ������������������
ssh����������� ������������������ 로그인을����������� ������������������ 테스트����������� ������������������ 한다.����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
이렇게����������� ������������������ 되면����������� ������������������ 현재����������� ������������������ 호스트를����������� ������������������ ~/.ssh/known_hosts����������� ������������������ 에����������� ������������������ 등록한다.����������� ������������������
Hadoop����������� ������������������
$ ssh localhost The authenticity of host 'localhost (::1)' can't be established. RSA key fingerprint is fb:cc:5d:08:ed:a2:d3:c2:7f:48:61:17:55:af:d1:86. Are you sure you want to continue connecting (yes/no)?
• 97
hadoop����������� ������������������ start����������� ������������������ &����������� ������������������ stop����������� ������������������
새로운����������� ������������������ DFS로����������� ������������������ namenode를����������� ������������������ 포맷하고����������� ������������������ hadoop을����������� ������������������ singlenode로����������� ������������������ 실행한다.����������� ������������������
Hadoop����������� ������������������
$ cd /usr/local/opt/hadoop $ ./bin/hadoop namenode –format $ ./bin/start-all.sh ./bin/start-all.sh starting namenode, logging to /usr/local/Cellar/hadoop/1.1.2/libexec/bin/../logs/hadoop-androidbee-namenode-gogangtaeui-MacBook-Air.local.out localhost: starting datanode, logging to /usr/local/Cellar/hadoop/1.1.2/libexec/bin/../logs/hadoop-androidbee-datanode-gogangtaeui-MacBook-Air.local.out …
• 98
hadoop����������� ������������������ processes����������� ������������������
Java에서����������� ������������������ 제공하는����������� ������������������ jps����������� ������������������ 를����������� ������������������ 활용하면����������� ������������������ hadoop의����������� ������������������ 프러세스����������� ������������������ 상태를����������� ������������������ 확인할����������� ������������������ 수����������� ������������������ 있다.����������� ������������������
Hadoop����������� ������������������
$ jps 7257 Jps 5795 NameNode 6062 JobTracker 5892 DataNode 5989 SecondaryNameNode 6159 TaskTracker
http://wiki.apache.org/hadoop/HowToDebugMapReducePrograms
• 99
hadoop����������� ������������������ examing����������� ������������������
제공되는����������� ������������������ 예제로����������� ������������������ 테스트����������� ������������������ 해본다.����������� ������������������
Hadoop����������� ������������������
$ hadoop jar /usr/local/Cellar/hadoop/1.1.2/libexec/hadoop-examples-1.1.2.jar pi 10 100 Number of Maps = 10 Samples per Map = 100 Wrote input for Map #0 … Wrote input for Map #9 Starting Job 13/05/29 10:49:21 INFO mapred.FileInputFormat: Total input paths to process : 10 13/05/29 10:49:21 INFO mapred.JobClient: Running job: job_201305291048_0001 13/05/29 10:49:22 INFO mapred.JobClient: map 0% reduce 0% …13/05/29 10:49:52 INFO mapred.JobClient: map 100% reduce 100% 13/05/29 10:49:53 INFO mapred.JobClient: Job complete: job_201305291048_0001 ... Job Finished in 31.939 seconds Estimated value of Pi is 3.14800000000000000000
• 100
hadoop����������� ������������������ examing����������� ������������������
실행시����������� ������������������ ����������� ������������������ 네임노드����������� ������������������ 에러,����������� ������������������ ����������� ������������������
Hadoop����������� ������������������
$ hadoop jar /usr/local/Cellar/hadoop/1.1.2/libexec/hadoop-examples-1.1.2.jar pi 10 100 Number of Maps = 10 Samples per Map = 100 org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/androidbee/PiEstimator_TMP_3_141592654/in. Name node is in safe mode. The reported blocks 1 has reached the threshold 0.9990 of total blocks 1. Safe mode will be turned off automatically in 5 seconds.
• 101
Verify����������� ������������������ hadoop����������� ������������������ instance����������� ������������������
실행중인����������� ������������������ hadoop����������� ������������������ 의����������� ������������������ 인스턴스를����������� ������������������ 확인����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
모니터링����������� ������������������
����������� ������������������ http://locahost:50030����������� ������������������ –����������� ������������������ Name����������� ������������������ Node����������� ������������������
����������� ������������������ http://localhost:50060����������� ������������������ -����������� ������������������ TaskTracker����������� ������������������ daemon����������� ������������������
����������� ������������������ http://localhost:50070����������� ������������������ –����������� ������������������ Job����������� ������������������ Tracker����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$ ps ax | grep hadoop | wc -l
• 102
hadoop����������� ������������������ stop����������� ������������������ Hadoop����������� ������������������
$ cd /usr/local/opt/hadoop $ $ ./bin/stop-all.sh stopping jobtracker localhost: stopping tasktracker stopping namenode localhost: stopping datanode localhost: stopping secondarynamenode
6.����������� ������������������ Hadoop����������� ������������������
Single����������� ������������������ node����������� ������������������ Installation����������� ������������������ on����������� ������������������ Ubuntu����������� ������������������
• 104
Ubuntu����������� ������������������
java����������� ������������������ jdk����������� ������������������ 설치����������� ������������������
ssh,����������� ������������������ sshd����������� ������������������ 설치����������� ������������������
설치����������� ������������������ 및����������� ������������������ 설정����������� ������������������
http://hadoop.apache.org/docs/stable/single_node_setup.html����������� ������������������
����������� ������������������
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/����������� ������������������
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/����������� ������������������
����������� ������������������
http://anonymousbi.wordpress.com/2012/11/02/hadoop-beginners-tutorial-on-ubuntu/����������� ������������������
Hadoop����������� ������������������
6.����������� ������������������ Hadoop����������� ������������������
Hadoop����������� ������������������ with����������� ������������������ Node.js����������� ������������������
• 106
Another����������� ������������������ example����������� ������������������
링크에����������� ������������������ 있는����������� ������������������ 예제����������� ������������������ 데이터를����������� ������������������ 이용한다.����������� ������������������
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$ hadoop dfs -copyFromLocal gutenberg/ ~/hadoop-store/gutenberg $ hadoop dfs -ls ~/hadoop-store/ $ hadoop dfs -ls ~/hadoop-store/gutenberg/ Found 3 items -rw-r--r-- 1 androidbee supergroup 674570 2013-05-29 12:50 /Users/androidbee/hadoop-store/gutenberg/pg20417.txt -rw-r--r-- 1 androidbee supergroup 1573150 2013-05-29 12:50 /Users/androidbee/hadoop-store/gutenberg/pg4300.txt -rw-r--r-- 1 androidbee supergroup 1423803 2013-05-29 12:50 /Users/androidbee/hadoop-store/gutenberg/pg5000.txt $ hadoop jar /usr/local/opt/hadoop/libexec/hadoop-examples-1.1.2.jar wordcount ~/hadoop-store/gutenberg ~/hadoop-store/gutenberg-output …
• 107
Another����������� ������������������ example2����������� ������������������ Hadoop����������� ������������������
$ hadoop jar /usr/local/opt/hadoop/libexec/hadoop-examples-1.1.2.jar wordcount ~/hadoop-store/gutenberg ~/hadoop-store/gutenberg-output 13/05/29 12:53:50 INFO input.FileInputFormat: Total input paths to process : 3 13/05/29 12:53:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 13/05/29 12:53:50 WARN snappy.LoadSnappy: Snappy native library not loaded 13/05/29 12:53:50 INFO mapred.JobClient: Running job: job_201305291048_0008 13/05/29 12:53:51 INFO mapred.JobClient: map 0% reduce 0% … 13/05/29 12:54:10 INFO mapred.JobClient: map 100% reduce 100% 13/05/29 12:54:11 INFO mapred.JobClient: Job complete: job_201305291048_0008 13/05/29 12:54:11 INFO mapred.JobClient: Counters: 26 13/05/29 12:54:11 INFO mapred.JobClient: Job Counters 13/05/29 12:54:11 INFO mapred.JobClient: Launched reduce tasks=1 13/05/29 12:54:11 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=18430 … 13/05/29 12:54:11 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=10487 13/05/29 12:54:11 INFO mapred.JobClient: File Output Format Counters 13/05/29 12:54:11 INFO mapred.JobClient: Bytes Written=880838
• 108
Another����������� ������������������ example3����������� ������������������
결과를����������� ������������������ 확인한다.����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
Hadoop����������� ������������������
$ hadoop dfs -ls ~/hadoop-store/gutenberg-output Found 3 items -rw-r--r-- 1 androidbee supergroup 0 2013-05-29 12:54 /Users/androidbee/hadoop-store/gutenberg-output/_SUCCESS drwxr-xr-x - androidbee supergroup 0 2013-05-29 12:53 /Users/androidbee/hadoop-store/gutenberg-output/_logs -rw-r--r-- 1 androidbee supergroup 880838 2013-05-29 12:54 /Users/androidbee/hadoop-store/gutenberg-output/part-r-00000 $ $ hadoop dfs -cat ~/hadoop-store/gutenberg-output/part-r-00000 $ mkdir ~/tmp/gutenberg-output $ hadoop dfs -getmerge ~/hadoop-store/gutenberg-output ~/tmp/gutenberg-output $ head ~/tmp/gutenberg-output/gutenberg-output "(Lo)cra" 1 "1490 1 "1498," 1 "35" 1 "40," 1 "A 2 "AS-IS". 1 "A_ 1 "Absoluti 1 "Alack! 1
• 109
example����������� ������������������ for����������� ������������������ NodeJS����������� ������������������
아래����������� ������������������ 코드를����������� ������������������ ~/tmp/mapper.js����������� ������������������ 로����������� ������������������ 저장한다.����������� ������������������ 이����������� ������������������ 프로그램은����������� ������������������ 앞의����������� ������������������ gutenberg����������� ������������������ 텍스트를����������� ������������������ 표준입력을����������� ������������������ 읽어����������� ������������������ ‘단어’로����������� ������������������ 분리해서����������� ������������������ ‘단어’����������� ������������������ 목록의����������� ������������������ 개수를����������� ������������������ 출력해����������� ������������������ 준다.����������� ������������������
Hadoop����������� ������������������
#!/usr/bin/node var stdin = process.stdin; var stdout = process.stdout; var data = ''; function processLine(line) { if(line && line.trim().length > 0) { var s = line.trim().split(' '); for(var i = 0; i < s.length; ++i) { stdout.write(s[i] + '\t1\n'); } } } // 계속…
http://rabrown.net/hadoop-word-count-streaming-example-with-nodejs
node����������� ������������������ 경로를����������� ������������������ 입력한다.����������� ������������������
• 110
example����������� ������������������ for����������� ������������������ NodeJS(2)����������� ������������������
표준입력의����������� ������������������ 키보드����������� ������������������ 입력을����������� ������������������ 문자로����������� ������������������ 구분해����������� ������������������ 준다.����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
����������� ������������������
실행����������� ������������������ 권한으로����������� ������������������ 변경해����������� ������������������ 준다.����������� ������������������
Hadoop����������� ������������������
//(이어서) stdin.setEncoding('utf8'); stdin.resume(); stdin.on('data', function(chunk) { data += chunk; data = data.replace(/\r\n/g, '\n'); while(data.indexOf('\n') > -1) { var i = data.indexOf('\n') + 1; processLine(data.slice(0,i)); data=data.slice(i); } }); stdin.on('end', function() { processLine(data); });
$chmod +x ~/tmp/mapper.js
• 111
example����������� ������������������ for����������� ������������������ NodeJS(3)����������� ������������������
~/tmp/reducer.js����������� ������������������ 로����������� ������������������ 코드를����������� ������������������ 저장한다.����������� ������������������
Hadoop����������� ������������������
#!/usr/bin/node var stdin = process.stdin; var stdout = process.stdout; function processLine(line) { if(line && line.trim().length > 0) { var s = line.trim().split('\t'); if(s.length == 2) { var w = s[0].trim(); var c = parseInt(s[1]); if(!isNaN(c)) { if(cw == w) { cc += c; } else { if(cw) { stdout.write(cw + '\t' + cc + '\n'); } cw = w; cc = c; } } } } }
mapper.js의����������� ������������������ 결과를����������� ������������������ 읽어����������� ������������������ 최종����������� ������������������ 단어����������� ������������������ 개수를����������� ������������������ 출력해����������� ������������������ 준다.����������� ������������������
node����������� ������������������ 경로를����������� ������������������ 입력한다.����������� ������������������
• 112
example����������� ������������������ for����������� ������������������ NodeJS(4)����������� ������������������ Hadoop����������� ������������������
//(이어서) var data = ''; var cw = null; var cc = 0; stdin.setEncoding('utf8'); stdin.resume(); stdin.on('data', function(chunk) { data += chunk; data = data.replace(/\r\n/g, '\n'); while(data.indexOf('\n') > -1) { var i = data.indexOf('\n') + 1; processLine(data.slice(0,i)); data=data.slice(i); } }); stdin.on('end', function() { processLine(data); stdout.write(cw + '\t' + cc + '\n'); });
$chmod +x ~/tmp/reducer.js
• 113
example����������� ������������������ for����������� ������������������ NodeJS(5)����������� ������������������ Hadoop����������� ������������������
$echo "foo foo quux labs foo bar quux" | ~/tmp/mapper.js $echo "foo foo quux labs foo bar quux" | /home/hduser/mapper.js | sort -k1,1 | /home/hduser/reducer.js $ hadoop jar /usr/local/opt/hadoop/libexec/contrib/streaming/hadoop-*streaming*.jar -file ~/tmp/mapper.js -mapper ~/tmp/mapper.js -file ~/tmp/reducer.js -reducer ~/tmp/reducer.js -input ~/hadoop-store/gutenberg/* -output ~/tmp/gutenberg-output
http://hadoop.apache.org/docs/r1.1.2/streaming.html
• 114
example����������� ������������������ for����������� ������������������ NodeJS(6)����������� ������������������
다시����������� ������������������ 실행해����������� ������������������ 보려면����������� ������������������ 실행한����������� ������������������ 결과를����������� ������������������ 제거한다.����������� ������������������
Hadoop����������� ������������������
$ hadoop dfs -rmr ~/tmp/gutenberg-output
• 115
감사합니다.����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ BigData와����������� ������������������ Hadoop에����������� ������������������ 대해����������� ������������������ 질문을����������� ������������������ 해주십시요.����������� ������������������ ����������� ������������������