빅데이터의 취급이 어려운 이유는 크게 두가지다. 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..
Docker 실습하기 도커 centos 이미 환경 인터넷에서 다운받는 방법 Docker pull centos:7 다운 받아진 이미지 확인 방법 Docker images 도커 이미지 생성 방법 docker create -i -t --name mycentos centos:7 Docker run -I -t ubuntu:14.04 도커 실행 방법 Docker start mycentos 도커 접속 방법 Docker attach mycentos 도커 삭제 Docker rm mycentos 도커 정지 Docker stop 도커 이미지 전체 삭제 Docker container prune 도커 로그 docker logs mysql 도커는 컨테이너에 내부 IP를 순차적으로 할당하며, 이 IP는 컨테이너를 재시작할때마다 변..
도커엔진이란? 도커이미지 image는 container를 생성할때 필요한 요소 가상 머신을 생성할 떄 사용하는 iso 파일과 비슷한 개념 이미지는 여러 개의 계층으로 된 바이너리 파일로 존재 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용 (수정 불가) 이미지는 도커 명령어로 내려받을 수 있으므로 별도로 설치할 필요는 없음. 도커 이미지의 이름 구성 [저장소 이름] / [이미지 이름] : [태그(버전)] * 저장소 : 이미지가 저장된 저장소를 의미, 몇시되지 않은 이미지는 기본적으로 제공하는 도커 허브(docker hub)의 공식(official) 이미지를 의미 * 이미지 이름 : 어떤 역할을 하는지 나타내고 반드시 설정(ex, mysql, centos 등) * 태그 : 버전 관리, 혹은 리비전 관리에..
허니허니의 블로그입니다. 이제새롭게 시작하는 블로그인 만큼 열심히 목표한 바를 이루기 위해서 열심히 하겠습니다. 감사합니다.