Top

R과 하둡을 이용한 빅데이터 분석 [빅데이터 처리를 위한 이상적인 솔루션]

  • 원서명Big Data Analytics with R and Hadoop (ISBN 9781782163282)
  • 지은이비그니쉬 프라자파티(Vignesh Prajapati)
  • 옮긴이송주영
  • ISBN : 9788960778276
  • 25,000원
  • 2016년 02월 19일 펴냄
  • 페이퍼백 | 252쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

요약

최근 빅데이터 분석 분야가 각광을 받으면서 R에 대한 관심이 높아지고 있다. R은 분석 기능이 뛰어나지만 확장성이 부족하다는 단점이 있다. 이런 측면에서, 대표적인 빅데이터 처리 플랫폼인 하둡과 R을 연동하려는 시도는 아주 자연스러운 일이다. 이 책은 데이터 분석가나 플랫폼 엔지니어가 빅데이터 처리를 위해 R의 분석 능력과 하둡의 저장 및 처리 능력을 함께 활용할 수 있도록 이상적인 솔루션을 제시한다.

이 책에서 다루는 내용

■ R과 하둡의 설치
■ 하둡 맵리듀스 애플리케이션 생성
■ RHIPE, RHadoop, 하둡 스트리밍을 이용한 R과 하둡의 연동
■ R과 하둡 기반으로 동작하는 맵리듀스 애플리케이션 개발과 실행
■ RHIPE와 RHadoop을 이용해 R 환경에서 HDFS 데이터 처리
■ R 환경에서 하둡 스트리밍 맵리듀스 실행
■ 다양한 데이터 소스로부터 R에 데이터 가져오기와 내보내기
■ 다양한 분석을 위한 데이터 수집

이 책의 대상 독자

하둡으로 빅데이터 분석을 수행하는 방법을 찾고 있는 R 개발자를 위한 책이다. 또한 R 패키지를 이용해 빅데이터상에서 지능적인 애플리케이션을 구축하려는 하둡 경험자에게도 유용할 것이다. 기본적인 R 지식을 갖고 있다면 이 책을 읽는 데 많은 도움이 된다.

이 책의 구성

1장, ‘R과 하둡 준비’에서는 간단한 개요와 함께 R과 하둡을 설치하는 과정을 알아본다.

2장, ‘하둡 맵리듀스 프로그램 작성’에서는 하둡 맵리듀스의 기초를 소개하고 하둡을 이용해 맵리듀스를 실행하는 방법을 설명한다.

3장, ‘R과 하둡 연동’에서는 RHadoop과 RHIPE를 위한 맵리듀스 프로그램 샘플을 배포하고 실행하는 것을 다양한 데이터 처리 과정을 통해 설명한다.

4장, ‘R로 하둡 스트리밍 사용’에서는 R로 하둡 스트리밍을 사용하는 방법을 알아본다.

5장, ‘R과 하둡으로 데이터 분석’에서는 실제 데이터 분석 문제의 시연을 통해 데이터 분석 프로젝트 라이프 싸이클을 살펴본다.

6장, ‘기계학습을 이용한 빅데이터 분석’에서는 RHadoop을 이용해 기계학습 기법을 적용하는 빅데이터 분석 수행을 다룬다.

7장, ‘다양한 DB에서 데이터 가져오기와 내보내기’에서는 데이터를 가져오고 내보내기 위해 R에서 대중적인 관계형 데이터베이스와 상호작용하는 방법을 설명한다.

부록, ‘참고자료’에서는 모든 장에서 다루는 내용의 추가적인 자료에 대한 링크를 제공한다.

저자/역자 소개

지은이의 말

대규모 기업 조직에서 생성되는 데이터의 양은 기하급수적으로 늘어나고 있으며, 이러한 방대한 양의 정보를 하둡 같은 저비용 플랫폼에 저장하는 것이 가능한 시대가 되었다.
최근 이 조직들은 이렇게 모은 데이터로 무엇을 할 것인지, 데이터로부터 어떻게 중요한 통찰을 얻을 것인지에 대한 문제에 직면해 있으며, 그 해결책으로 R이 주목받고 있다. R은 데이터로부터 고급 통계 모델링을 수행하고, 유도된 모델을 화려한 그래프나 시각화로 표현하며, 그 외에 데이터 과학에 연관된 다양한 기능들을 더욱 쉽게 수행하게 도와주는 매우 놀라운 도구다.
그렇지만 R의 중요한 단점 중 하나는 확장성이 부족하다는 점이다. R 코어 엔진은 매우 제한된 양의 데이터만 처리할 수 있으며, 이러한 점을 보완하기 위해 빅데이터를 처리하는 데 많이 사용하는 하둡을 R과 연동하는 것은 자연스러운 일이다.
이 책은 R과 하둡, 그리고 하둡 플랫폼을 사용해서 어떻게 R의 데이터 분석 작업을 확장성 있게 만들 수 있는지에 대한 복잡한 내용들을 다룬다.
또한, 데이터 과학자, 통계학자, 데이터 아키텍트, 엔지니어같이 문제를 해결하기 위해 R과 하둡으로 대량의 데이터를 처리, 분석하려는 다양한 독자들의 요구를 충족시켜줄 것이다.
R을 하둡과 연동해 사용함으로써 분석할 데이터셋의 크기에 따라 확장이 가능한 탄력적인 데이터 분석 플랫폼이 제공된다. 이를 통해 경험 많은 프로그래머는 맵리듀스 모듈을 R로 작성할 수 있고, 하둡의 병렬 처리 맵리듀스 메커니즘을 사용하면 데이터셋에서 패턴을 알아내기 위해 해당 모듈을 실행할 수 있다.

지은이 소개

비그니쉬 프라자파티(Vignesh Prajapati)

인도 출신의 빅데이터 매니아며 엔제이(Enjay)의 소프트웨어 전문가 및 Pingax(www.pingax.com)의 컨설턴트로 활동 중이다. 숙련된 기계학습 데이터 엔지니어로서 기계학습뿐만 아니라 R, 하둡 Hadoop, 머하웃(Mahout), 피그(Pig), 하이브(Hive) 및 하둡 관련 컴포넌트 등의 빅데이터 기술을 통해 데이터셋으로부터 가치 있는 인사이트를 분석하는 일련의 데이터 분석 사이클 전반에 능통하다.
2012년에 구자르트(Gujarat) 기술 대학에서 학사 학위를 받았으며 Tatvic에서 데이터 엔지니어로 일하기 시작했다. 구글 애널리틱스 데이터를 위한 다양한 데이터 분석 알고리즘을 개발해 경제적 가치를 제공했고, 실질적인 기계학습 적용을 위해 구글 애널리틱스와 구글 프리딕션 API를 연동하는 여러 가지 분석 앱을 개발했다. 또한 구글 프로젝트에 오픈소스로 RGoogleAnalytics 패키지를 개발함으로써 R 커퓨니티에 기여했으며, ‘데이터 주도 기술(Data-driven technologies)’에 대한 문서도 작성했다.
단일 도메인에 국한되지 않은 다양한 인터랙티브 앱을 개발하고 있으며, 구글 애널리틱스 API, 실시간 API, 구글 프리딕션 API, 구글 차트 API, 구글 번역 API 등의 다양한 구글 API와 자바, PHP 플랫폼을 이용해 개발하고 있다. 오픈소스 기술을 개발하는 데에도 관심이 많다.
또한 『아파치 Mahout 프로그래밍』(에이콘, 2014)을 리뷰했다. 이 책은 초급자뿐만 아니라 고급 사용자에게도 머하웃에 대한 참신하고 범위 지향적인 접근법을 제공한다. 또한, 사용자가 빅데이터 애플리케이션을 만들면서 기계학습 애플리케이션과 정책, 기계학습 알고리즘의 다양한 가능성을 알 수 있도록 특별하게 구성되어 있다.

옮긴이의 말

번역 작업을 마무리하고 이 글을 작성하기 위해 문서 편집기를 열고 있으니, 업무상 프로젝트를 위해 처음으로 R과 하둡의 연동 작업을 수행할 당시의 기억이 새록새록 떠오릅니다. 그 당시에는 이 책은 물론이고 변변한 R 책도 시중에 없었으며, 하둡도 빅데이터 처리 기술로써 사람들의 입에 막 오르내리기 시작하던 시절이었습니다. 그렇게 정보가 열악한 상황 속에서 웹사이트를 찾아가며 프로젝트를 수행하던 때를 돌이켜보니 그 시절에 이 책이 있었더라면 얼마나 좋았을까 하는 생각이 듭니다.
당시에는 분석 기능은 뛰어나지만 확장성에 한계가 있는 R과 빅데이터의 저장 및 처리 능력에 독보적인 위치를 차지하고 있던 하둡을 연동하는 기술이 빅데이터 분석 분야의 은탄환(silver bullet)이 되지 않을까 생각했던 적이 있습니다. 하지만 세상 모든 일이 그렇듯이 모든 문제를 한 번에 해결해주는 솔루션은 존재하기 힘듭니다. 실제 현업에서는 빅데이터에 대한 분석 및 학습을 위해 이 책에서 소개하는 내용뿐만 아니라 머하웃이나 스파크 MLlib(Spark MLlib) 같은 오픈소스 기술이나 벤더에서 제공하는 상용 제품들을 잘 조합해서 용도와 특성에 맞게 활용하는 지혜가 필요합니다. 이 책이 이런 지혜를 발휘하는 데 조금이나마 도움이 되었으면 좋겠습니다.

옮긴이 소개

송주영

현재 쿠팡에서 데이터 분석 업무를 담당하고 있다. 지리정보시스템, 이미지 프로세싱, 기계학습 등 다양한 분야에 관심이 많다.

목차

목차
  • 1 R과 하둡 준비
    • R 설치
    • RStudio 설치
    • R 언어 특성의 이해
      • R 패키지 사용
      • 데이터 작업 수행
      • 커뮤니티 지원의 증가
      • R에서 데이터 모델링 수행
    • 하둡 설치
      • 여러 가지 하둡 모드의 이해
      • 하둡 설치 단계
        • 우분투 리눅스에 하둡 설치(단일 노드 클러스터)
        • 우분투 리눅스에 하둡 설치(멀티 노드 클러스터)
        • 우분투에 클라우데라 하둡 설치
    • 하둡 기능의 이해
    • HDFS의 이해
      • HDFS의 특성
      • 맵리듀스
    • HDFS와 맵리듀스 아키텍처
      • HDFS 아키텍처
        • HDFS 컴포넌트
      • 맵리듀스 아키텍처
        • 맵리듀스 컴포넌트
      • HDFS와 맵리듀스 아키텍처를 그림으로 이해
    • 하둡 하위 프로젝트의 이해
    • 요약

  • 2 하둡 맵리둡스 프로그램 작성
    • 맵리듀스의 기본 이해
    • 하둡 맵리듀스 소개
      • 하둡 맵리듀스 개체 나열
      • 하둡 맵리듀스 시나리오
        • HDFS로 데이터 로딩
        • 맵 단계 수행
        • 셔플링과 정렬
        • 리듀스 단계 수행
      • 맵리듀스의 제약
      • 문제 해결을 위해 하둡의 능력
      • 하둡 프로그래밍에서 사용되는 여러 가지 자바 컨셉
    • 하둡 맵리듀스의 기초
      • 맵리듀스 객체의 이해
      • 맵리듀스에서 맵의 개수 결정
      • 맵리듀스에서 리듀서의 개수 결정
      • 맵리듀스의 데이터 흐름
      • 하둡 맵리듀스에서 사용하는 용어
    • 하둡 맵리듀스 예제 작성
      • 맵리듀스 잡 수행 과정
        • 하둡 맵리듀스 잡을 모니터링하고 디버깅하는 방법
        • HDFS 데이터 살펴보기
      • 비즈니스 문제를 해결하는 여러 가지 맵리듀스 정의
    • R에서 하둡 맵리듀스를 작성하는 다양한 방법 소개
      • RHadoop 소개
      • RHIPE 소개
      • 하둡 스트리밍 소개
    • 요약

  • 3 R과 하둡 연동
    • RHIPE 소개
      • RHIPE 설치
        • 하둡 설치
        • R 설치
        • 프로토콜 버퍼 설치
        • 환경변수
        • rJava 패키지 설치
        • RHIPE 설치
      • RHIPE 아키텍처의 이해
      • RHIPE 예제 살펴보기
        • RHIPE 예제 프로그램(단일 맵 프로그램)
        • 단어 수 세기
      • RHIPE 함수의 레퍼런스
        • 초기화
        • HDFS
        • 맵리듀스
    • RHadoop 소개
      • RHadoop 아키텍처의 이해
      • RHadoop 설치
      • RHadoop 예제 살펴보기
        • 단어 수 세기
      • RHadoop 함수의 레퍼런스
        • hdfs 패키지
        • rmr 패키지
    • 요약

  • 4 R로 하둡 스트리밍 사용
    • 하둡 스트리밍의 기본 이해
    • R로 하둡 스트리밍을 수행하는 방법
      • 맵리듀스 애플리케이션의 이해
      • 맵리듀스 애플리케이션 작성 방법
      • 맵리듀스 애플리케이션 실행 방법
        • 명령 프롬프트에서 하둡 스트리밍 잡 실행
        • R 또는 RStudio에서 하둡 스트리밍 잡 실행
      • 맵리듀스 애플리케이션의 결과를 살펴보는 방법
        • 명령 프롬프트에서 결과 살펴보기
        • R 또는 RStudio 콘솔에서 결과 살펴보기
      • 하둡 맵리듀스 스크립트에서 사용된 기본 R 함수의 이해
      • 하둡 맵리듀스 잡 모니터링
    • R 패키지 HadoopStreaming 살펴보기
      • hsTableReader 함수
      • hsKeyValReader 함수
      • hsLineReader 함수
      • 하둡 스트리밍 잡 수행
        • 하둡 스트리밍 잡 실행
    • 요약

  • 5 R과 하둡으로 데이터 분석
    • 데이터 분석 프로젝트의 라이프 사이클 이해
      • 문제 확인
      • 데이터 요구사항 디자인
      • 데이터 전처리
      • 데이터 분석 수행
      • 데이터 시각화
    • 데이터 분석 문제의 이해
      • 웹 페이지의 카테고리 분석
        • 문제 확인
        • 데이터 요구사항 디자인
        • 데이터 전처리
        • 데이터 분석 수행
        • 데이터 시각화
      • 주식 시장 변화의 빈도 계산
        • 문제 확인
        • 데이터 요구사항 디자인
        • 데이터 전처리
        • 데이터 분석 수행
        • 데이터 시각화
      • 불도저를 위한 시험 답안지의 판매 가격 예측
        • 문제 확인
        • 데이터 요구사항 디자인
        • 데이터 전처리
        • 데이터 분석 수행
        • 포아송 근사 재표본화의 이해
        • RHadoop을 이용한 랜덤 포레스트 학습
    • 요약

  • 6 기계학습을 이용한 빅데이터 분석
    • 기계학습 소개
      • 기계학습 알고리즘의 유형
    • 감독 학습 알고리즘
      • 선형 회귀
        • R을 이용한 선형 회귀
        • R과 하둡을 이용한 선형 회귀
      • 로지스틱 회귀
        • R을 이용한 로지스틱 회귀
        • R과 하둡을 이용한 로지스틱 회귀
    • 무감독 기계학습 알고리즘
      • 군집화
        • R을 이용한 군집화
        • R과 하둡을 이용한 군집화 수행
    • 추천 알고리즘
      • R에서의 추천 생성 과정
      • R과 하둡으로 추천 생성
    • 요약

  • 7 다양한 DB에서 데이터 가져오기와 내보내기
    • 데이터 파일을 데이터베이스로 사용
      • 다양한 형태의 파일 이해
      • R 패키지 설치
      • R로 데이터 가져오기
      • R에서 데이터 내보내기
    • MySQL 사용
      • MySQL 설치
      • RMySQL 설치
      • 테이블과 테이블의 구조 알아보기
      • R로 데이터 가져오기
      • 데이터 조작 살펴보기
    • 엑셀 사용
      • 엑셀 설치
      • R로 데이터 가져오기
      • R과 엑셀로 데이터 가공
      • 데이터를 엑셀로 내보내기
    • MongoDB 사용
      • MongoDB 설치
        • SQL과 MongoDB 용어 매핑
        • SQL과 MongoQL 용어 매핑
      • rmongodb 설치
      • R로 데이터 가져오기
      • 데이터 조작 살펴보기
    • SQLite 사용
      • SQLite의 기능 이해
      • SQLite 설치
      • RSQLite 설치
      • R로 데이터 가져오기
      • 데이터 조작 살펴보기
    • PostgreSQL 사용
      • PostgreSQL의 기능 이해
      • PostgreSQL 설치
      • RPostgreSQL 설치
      • R에서 데이터 내보내기
    • 하이브 사용
      • 하이브의 기능 이해
      • 하이브 설치
        • 하이브 설정 세팅
      • RHive 설치
      • RHive 작업 살펴보기
    • HBase 사용
      • HBase의 기능 이해
        • HBase 설치
      • 쓰리프트 설치
      • RHBase 설치
      • R에서 데이터 가져오기
      • 데이터 조작 살펴보기
    • 요약

  • 부록 참고자료
    • R + 하둡 도움말 문서
    • R 그룹
    • 하둡 그룹
    • R + 하둡 그룹
    • 인기 있는 R 컨트리뷰터
    • 인기 있는 하둡 컨트리뷰터

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안