. YARN과 맵리듀스 1의 차이점 맵리듀스1에는 job의 실행 과정을 제어하는 하나의 jobtracker와 하나 이상의 tasktracker 두 데몬이 있으며, jobtracker는 여러 tasktracker에서 실행되는 task를 스케줄링 함으로써 시스템에서 실행되는 모든 잡을 조율 한다. tasktracker는 task를 실행하고 진행 상황을 jobtracker에 전송하기 때문에 jobtracker는 각 job의 전체적인 진행 상황을 파악할 수 있다. task가 실패하면 jobtracker는 다른 tasktracker에 그 task를 다시 스케줄링 할 수 있다. 맵리듀스1에서 jobtracker는 잡 스케줄링(task와 tasktracker를 연결)과 태스크 진행 모니터링(task를 추적하고, 실패..
█ YARN (Yet Another Resource Negotiator) 개요 ¤ YARN은? - YARN은 하둡 클러스터 자원 관리 시스템이다 - YARN은 맵리듀스의 성능을 높이기 위해 하둡2 에서 처음 도입되었다. (최초 도입 이유) - YARN은 맵리듀스뿐만 아니라 다른 분산 컴퓨팅 도구도 지원한다. (현재 발전 방향) ¤ YARN 어떻게 사용 하는가? - YARN은 클러스터의 자원을 요청/사용 하기 위한 API를 제공. But 사용자 코드에서 직접 이러한 API를 사용 할 수는 없다. 사용자는 YARN이 내장된 분산 컴퓨팅 프레임워크(엔진)에서 고수준 API를 작성/사용 할 수 있고, - 따라서 사용자는 자원 관리의 자세한 내용은 알 수 없다. ¤ YARN 애플리케이션 전체 구조 맵리듀스, 스파..
일부 기업에서는 이전부터 데이터 분석을 기반으로 하는 "엔터프라이즈 데이터 웨어 하우스(enterprise data warehouse/EDW 또는 데이터 웨어하우스 /DWH)를 도입했다. 전국 가지에서 보내진 점포의 매출과 고객 정보등이 오랜기간에 걸쳐 축척되고, 그것을 분석함으로써 업무 개선과 경영 판단의 자료로 활용되었다. 우리회사도 마찬가지로 전국에 있는 오프라인 점포의 매출데이터 정보와 온라인에서 판매되는 데이터를 데이터 웨어하우스에 분석을 위한 목적으로 데이터를 계속 축적하고 있다. 분산 시스템의 발전에 따라, 기존이라면 데이터 웨어하우스 제품이 사용되는 경우에도 Hadoop을 사용하는 경우가 증가했다. 다수의 데이터 분석 도구가 Hadoop에 대한 대응을 표명하여 대량의 데이터를 보존 및 집계..
빅데이터의 취급이 어려운 이유는 크게 두가지다. 1. '데이터의 분석 방법을 모른다' 는 점이고, 2. '데이터 처리에 수고와 시간이 걸린다' 데이터가 있어도 그 가치를 창조하지 못한다면 의미가 없고, 지식이 있어도 시간을 많이 소비한다면 할 수 있는 것은 한정된다. 지금의 많은 오픈소스가 개발되어 위 두가지 방법을 해결을 해주었다. 내가 생각했을때는 첫번째 Hadoop의 등장이다. 그리고 Hadoop을 이용한 다양한 처리 기술들이 많이 개발되었고, 많은 사람들이 빅데이터 개발과 분석에 위와 같은 기술들을 많이 사용하고있다. 빅데이터의 기술의 요구 빅데이터의 기술로 가장 먼저 예로 들 수 있는 것이 'Hadoop'과 'NoSQL'이다. 인터넷 보급으로 세계 곳곳으로부터 액세스 되는 시스템이 증가함에 따라..
1. HDFS HDFS는 Hadoop Distributed File System의 약자이다. 수십 테라바이트 또는 페타바이트 이상의 대용량 파일을 분산된 서버에 저장하고, 그 저장된 데이터를 빠르게 처리할 수 있게 하는 파일시스템이다. 또한 저사양의 서버를 이용해서 스토리지를 구성할 수 있어 기존의 대용량 파일시스템(NAS,DAS,SAN등)에 비해 장점을 가진다. HDFS는 블록 구조의 파일 시스템이다. 파일을 특정크기의 블록으로 나누어 분산된 서버에 저장된다. 블록크기는 64MB에서 하둡 2.0 부터는 128MB로 증가되었다. 2. 네임노드와 데이터 노드 HDFS는 네임노드(마스터)와 데이터노드(슬레이브) 로 구현되어 있다. 네임노드(NameNode)는 다음과 같은 핵심기능을 수행한다. n메타데이터 관..
하둡이란 ? 하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크이다. 하둡은 구글이 논문으로 발표한 GFS(Google File System)과 맵리듀스를 2005년 더그커팅이 구현한 결과물이다. 하둡은 분산시스템인 HDFS(Hadoop Distributed File Syste)에 데이터를 저장하고, 맵리듀스를 이용해 데이터를 처리한다. 하둡은 여러 대의 서버에 데이터를 저장하고, 저장된 각 서버에서 동시에 데이터를 처리하는 방식이다. 하둡은 기존의 RDBS(Oracle,MS-SQL,MySQL등)을 대치하는 것이 아니다. 즉 트랜잭션이나 무결성을 보장해야 하는 데이터처리에는 적합하지 않다. 하둡은 배치성으로 데이터를 저장하고 처리하는데 적합한 시스템이다. 쇼핑물에서 회원가입이나..
하둡으로 데이터 분석하기 █ awk는 행 기반 데이터를 처리하기 위한 전통적인 유닉스 도구다. 압축된 연도별 파일을 반복적으로 돌며 처음에는 해당 연도를 출력하고 그 후 awk를 이용해서 각 파일을 처리한다. awk스크립트는 데이터에서 두 개의 필드(기온과 특성코드)를 추출한다. 기온(문자열)에 0을 더하면 그 값은 정수형으로 변환된다. 다음에는 기온이 유효한 값(9999는 NCDC 데이터셋에서 누락된 값을 의미)을 가지는지, 특성 코드가 그 측정값을 신뢰할 수 있다고 보는지 점검한다. 측정된 값에 문제가 없다면 현재 최고 기온과 비교하여 새로운 값이 더 높으면 최고 기온을 변경한다. END 영역은 파일에 있는 모든 행이 처리된 후에 실행되는데, 최종 최고 기온을 출력한다. █ 20세기의 전체 데이터를 ..
맵리듀스란? 맵리듀스는 데이터 처리를 위한 프로그래밍 모델이다. 하둡은 다양한 언어로 작성된 맵리듀스 프로그램을 구동시킬 수 있다. 맵리듀스는 태생 자체가 병행성을 고려하여 설계되었고, 누구든지 충분한 장비만 갖추고 있다면 대규모 데이터 분석을 할 수 있다. 맵리듀스는 대용량 데이터셋에서 그 진가가 드러난다. 예제를 통해서 맵리듀스의 프로그래밍 모델을 살펴보도록 하자. 1. 기상 데이터셋 █ 지구 전지역에서 매시간 데이터를 수집하는 기상 센서들은 대량의 로그 데이터를 모으는데, 이러한 데이터는반구조적(semi-structed)이면서 레코드 지향적(record-oriented)이기 때문에 맵리듀스를 이용한 데이터 분석에 적합하다. █ 데이터는 국립기후자료센터(NCDC, http://www.ncdc.noaa..