올해부터 빅데이터에 관심이 부쩍 높아진 것 같습니다. 클라우드 환경이 대중화되고 하둡 등 분산 처리 기술이 일반화 되면서 자연스럽게 빅데이터에 대한 관심도 늘어나는 것 같습니다. 하지만 아직도 빅데이터를 단순히 대용량 데이터로만 생각하는 경향이 있어서 빅데이터의 의미와 실제 사례를 간략하게 정리해 보려고 합니다. 빅데이터 확장 배경 왜 빅데이터에 관심을 가지게 되었을까요? 먼저 하드웨어가 발달하고 ERP, CRM과 같은 것을 통해 데이터가 충분히 축적되었다는 것입니다. 이렇게 축적된 데이터를 통해 비즈니스에 기여할 수 있는 인사이트를 만들 수 있을까? 하는 고민이 빅데이터의 시작이라고 생각합니다. 모든 IT 관련 이슈들이 그러하듯 빅데이터란 것도 하루아침에 나타난 것이 아닙니다. 예전에 데이터베이스에서도..
R 소개빅데이터 처리 기술 중에 최근 인기있는 R 에 대해서 간략하게 소개합니다. R은 통계, 그래픽 작업, 통계적 프로그래밍을 하는데 매우 효과적인 툴입니다. 기존의 SAS, SPSS와 같은 통계 처리 프로그램들이 있었는데요. R은 이러한 프로그램을 대신할 수 있는 오픈소스 프로젝트로서 R에서 사용할 수 있는 애드온만 2천개가 넘을 정도로 널리 사용되고 있습니다. 여러분이 R에 대한 자료를 검색하기는 쉽지 않습니다. 당연히 R을 검색하면 R과 관련없는 수많은 자료들이 나오기 때문이죠. R에 대한 자료를 가장 많이 가지고 있는 곳은 당연히 R 프로젝트 사이트입니다. http://www.r-project.org 위 사이트에서 R 프로그램 다운로드, 애드온 패키지, 문서, 소스 코드 등을 받아서 살펴볼 수 ..
NoSQL과 관련하여 살펴보고 있는데요. 오늘은 10gen에서 개발한 몽고디비(MongoDB)에 대해서 간략하게 정리해 보려고 합니다. 보통 NoSQL이라고 하는 데이터베이스는 스키마가 없이 Key-Value 쌍으로 언제든지 데이터를 저장한다는 특징을 가지고 있습니다. MongoDB도 역시 스키마 없는 Document Data Model을 기반으로 하고 있습니다. 제가 Google App Engine을 사용할 때 Big Table이라는 구글의 NoSQL을 써봤는데요. 간단한 기능을 개발할 때 DB 스키마를 만들지 않고 문서를 원하는대로 생성하고 저장하는 구조가 상당히 효율적이었던 기억이 나네요. 아래 내용은 MongoDB in Action 책의 내용을 기반으로 작성했습니다. MongoDB 개요MongoD..
하둡(Hadoop)의 파일시스템인 HDFS의 명령어를 모두 정리해 보려고 합니다. 하둡의 명령어는 다음과 같은 구조를 가지고 있습니다. hdfs dfs -cmd cmd가 지정한 파일 명령어이고 는 각 명령에 따른 인자들을 나타냅니다. hadoop fs를 제외하면 일반적인 리눅스 명령어와 유사하다고 볼 수 있습니다. 그럼 정리해보도록 하겠습니다. (도서 "거침없이 배우는 하둡"의 부록을 참고했습니다.) cat hdfs dfs -cat FILE [FILE ...] 파일의 내용을 나타낸다. 압축된 파일을 읽기 위해서는 fs 대신에 text 명령어를 사용해야 한다. chgrp hdfs dfs -chgrp [-R] GROUP PATH [PATH ...] 파일과 디렉토리에 대한 그룹을 변경한다. -R 옵션은 하위 ..
각종 문서를 만들다 보면 비즈니스 모델(Business Model)이라는 것을 작성할 필요가 있습니다. 위키피디아에서는 비즈니스 모델을 위와 같이 비즈니스 전략의 일부분으로서 가치를 만들고 연결하기 위한 근거라고 이야기하고 있습니다. A business model describes the rationale of how an organization creates, delivers, and captures value (economic, social, or other forms of value). The process of business model construction is part of business strategy . Business Model Generation에서 제공하는 Canvas를 이용하면 ..
앞선 강좌에 따라 환경 설정을 하고 이클립스에 개발환경 세팅 후 맵리듀스 프로그래밍을 진행을 하다보면 조금 귀찮은게 있습니다. 우선 프로그램을 테스트하기 위해서 매번 jar로 묶어줘야 한다는 점이 있구요. 또한 input 파일을 hadoop의 파일시스템으로 넣어줘야 한다는 것도 조금 귀찮습니다. 이러한 문제를 해결할 수 있는 것은 역시 standalone mode로 실행하는 수 밖에는 없을 것 같습니다. 앞서 세팅한 하둡(hadoop) 설치부터 테스트까지 정리~ 에서는 pseudo-distributed mode였는데요. 이번에는 설정된 환경에서 몇개의 config 파일만 수정해서 standalone mode로 변경해서 jar로 묶지 않고 로컬의 파일시스템으로 예제를 실행해 보도록 하겠습니다. Standa..
하둡과 관련되어 작성한 글 목록을 먼저 보여드립니다. 참고하시기 바랍니다. 2012/02/29 - [리뷰/블로그] - BigData 처리를 위한 맵리듀스(MapReduce)에 대하여~ 2012/05/18 - [프로그래밍/Java] - 하둡(Hadoop) 설치부터 테스트까지 정리~ 2012/05/22 - [프로그래밍/Java] - 하둡 맵리듀스 프로그래밍을 위한 이클립스 플러그인 설정 #1 지난 시간에 Mac에 이클립스 플러그인을 설치하는 과정을 살펴봤는데요. 마지막에 설명한 것처럼 플러그인의 장점을 충분히 살리지 못하고 있으며 약간의 버그들도 존해하기 때문에 큰 의미가 없었습니다. 그래서 이번에는 일반적인 자바 프로젝트로 개발 환경을 설정하고 word count를 처리하는 예제를 실제로 실행해 보도록 하..
요즘 하둡(Hadoop)을 계속해서 테스트해보고 있습니다. 지난번에 설치는 2012/05/18 - [프로그래밍/Java] - 하둡(Hadoop) 설치부터 테스트까지 정리~ 에서 정리했었는데요. 이번에는 맵리듀스 프로그래밍을 위한 이클립스 설정을 살펴보도록 하겠습니다. 참고로 이번부터는 맥에서 하둡을 설치하고 테스트를 진행했네요. Apache Ant / Ivy 다운로드 및 설치하둡 내부의 소스 폴더를 보면 ant build를 많이 사용하고 있습니다. 자바 프로젝트를 하면서 Ant는 기본적으로 설치되어 있을텐데요. 제 Mac에서도 /usr/share/java/ant-1.8.2/에 설치되어 있네요. Ant가 설치되어 있으면 이어서 Apache Ivy를 설치해야 합니다. 하둡에서도 Ivy를 사용하고 있는데요. ..
지난번에 맵리듀스에 대해서는 한번 정리한 적이 있는데요. 오늘은 하둡(Hadoop)을 설치하고 환경변수들을 설정한 후, 기본 예제인 Word Count를 실행해보도록 하겠습니다. 백문이 불여일견이라고 내용을 아무리 보는 것 보다 직접 해보는 것이 확실히 도움이 되는 것 같습니다. 하둡(Hadoop) 설치하둡은 HDFS, MapReduce를 소프트웨어로 구현한 것으로 아파치 Top-Level 프로젝트입니다. 코어는 Java, C/C++, Python등을 지원하는데요. 기본적으로 JDK는 설치되어 있어야 Hadoop을 구동할 수 있습니다. 하둡을 구동하기 위해서는 리눅스 환경이 좋은데요. 윈도우는 경우에는 가상머신을 활용하면 됩니다. (맥은 설치가 됩니다.) 저는 우분투를 PC에 설치해서 하둡 설치를 진행했..
클라우드 컴퓨팅 환경에서 PaaS(Platform as a Service)의 선두주자인 구글 앱 엔진에 대해서 정리해 보려고 합니다. 아래 글에서 설명한 것처럼 일정 용량을 무료로 제공하기 때문에 처음 시작하는데 부담 없이 테스트할 수 있는 것 같네요. 2012/02/06 - [리뷰/도서] - [도서] GAE로 시작하는 클라우드 컴퓨팅 - 구글 앱 엔진 활용하기 특히 자바 버전의 경우, 이클립스에 플러그인으로 제공해서 설치 및 실행 환경이 기존 자바 프로그래머에게 친숙하다는 것도 하나의 장점입니다. 그럼 구글 앱 엔진의 설치부터 하나씩 살펴보도록 하죠~~ 1. 이클립스용 구글 플러그인 설치하기 이클립스 플러그인을 설치하는 방법은 많은 곳에서 이야기 하고 있으니 간단하게만 이야기 하도록 하죠. 플러그인을 ..