이미 소장하고 있다면 판매해 보세요.
|
2026년 택배없는날 관련 택배발송안내
안녕하세요 2026년08월14일 택배없는날,8월17일대공휴일로 택배사 휴무로인하여 8월 18일(화)부터 순차적으로 발송됩니다.이점 참고하시어,이용바랍니다. 감사합니다
|
|
택배 이용안내
안녕하세요
평일기준 16시전 주문은 당일 발송가능하며,
토,일요일,국가공휴일 및 대체공휴일은 택배사 휴무로 인해 발송,
배송이 불가하오니 구매에 참고하여주시길 바랍니다. 감사합니다.
|
|
|
CHAPTER 1 소개
_1.1 하둡과 맵리듀스 개요 __1.1.1 맵리듀스 _1.2 하둡 생태계에서의 하이브 __1.2.1 피그 __1.2.2 HBase __1.2.3 캐스케이딩, 크런치, 그 외 도구 _1.3 자바 vs. 하이브: 단어 세기 알고리즘 CHAPTER 2 시작하기 _2.1 하둡과 하이브가 미리 설정된 가상 머신 설치하기 _2.2 자세한 설치 방법 알아보기 __2.2.1 자바 설치하기 __2.2.2 하둡 설치하기 __2.2.3 로컬 모드, 의사 분산 모드, 분산 모드 __2.2.4 하둡 테스트하기 __2.2.5 하이브 설치하기 _2.3 하이브는 어떻게 구성되어 있는가? _2.4 하이브 시작하기 _2.5 하둡 환경 설정하기 __2.5.1 로컬 모드 설정 __2.5.2 분산과 의사 분산 모드 설정 __2.5.3 JDBC를 사용하는 메타스토어 _2.6 하이브 명령 __2.6.1 명령 옵션 _2.7 명령행 인터페이스 __2.7.1 CLI 옵션 __2.7.2 변수와 속성 __2.7.3 하이브 원 샷 명령 __2.7.4 파일로 하이브 쿼리 실행하기 __2.7.5 .hiverc 파일 __2.7.6 CLI의 다른 기능들 __2.7.7 명령 히스토리 __2.7.8 셸 실행 __2.7.9 하이브에서 하둡 dfs 명령 수행하기 __2.7.10 하이브 스크립트에서 주석 달기 __2.7.11 쿼리 컬럼 헤더 CHAPTER 3 데이터형과 파일 포맷 _3.1 원시 데이터형 _3.2 컬렉션 데이터형 _3.3 데이터값의 텍스트 파일 인코딩 _3.4 Schema on Read CHAPTER 4 HiveQL: 데이터 정의 _4.1 하이브에서의 데이터베이스 _4.2 데이터베이스 변경 _4.3 테이블 생성 __4.3.1 매니지드 테이블 __4.3.2 외부 테이블 _4.4 파티션닝된 매니지드 테이블 __4.4.1 파티셔닝된 외부 테이블 __4.4.2 테이블 저장 포맷 사용자화 _4.5 테이블 삭제 _4.6 테이블 변경 __4.6.1 테이블명 변경 __4.6.2 테이블 파티션 추가, 변경, 삭제 __4.6.3 컬럼 변경 __4.6.4 컬럼 추가 __4.6.5 컬럼 삭제 및 교체 __4.6.6 테이블 속성 변경 __4.6.7 저장소 속성 변경 __4.6.8 기타 테이블 변경 문 CHAPTER 5 HiveQL: 데이터 조작 _5.1 매니지드 테이블에 데이터 로딩하기 _5.2 쿼리 결과를 테이블에 넣기 __5.2.1 동적 파티션 삽입 _5.3 쿼리 하나로 테이블을 생성하고 데이터 로딩하기 _5.4 데이터 꺼내기 CHAPTER 6 HiveQL: 쿼리 _6.1 SELECT ... FROM 절 __6.1.1 정규표현식으로 컬럼 선택하기 __6.1.2 컬럼값으로 계산하기 __6.1.3 산술 연산자 __6.1.4 함수 사용하기 __6.1.5 LIMIT 절 __6.1.6 컬럼 별칭 __6.1.7 중첩 SELECT 문 __6.1.8 CASE ... WHEN ... THEN 문 __6.1.9 하이브가 맵리듀스를 사용하지 않을 때 _6.2 WHERE 절 __6.2.1 술어 연산자 __6.2.2 부동소수점수 비교의 잠재적 문제 __6.2.3 LIKE와 RLIKE _6.3 GROUP BY 절 __6.3.1 HAVING 절 _6.4 조인 문 __6.4.1 내부 조인 __6.4.2 조인 최적화 __6.4.3 왼쪽 외부 조인 __6.4.4 외부 조인의 잠재적 문제 __6.4.5 오른쪽 외부 조인 __6.4.6 완전 외부 조인 __6.4.7 왼쪽 세미 조인 __6.4.8 카타시안 프로덕트 조인 __6.4.9 맵 사이드 조인 _6.5 ORDER BY와 SORT BY _6.6 SORT BY와 함께 사용하는 DISTRIBUTE BY _6.7 CLUSTER BY _6.8 형변환 __6.8.1 BINARY값 형변환 _6.9 데이터 표본을 만드는 쿼리 __6.9.1 블록으로 표본 만들기 __6.9.2 버킷 테이블들에 대한 입력 푸루닝 _6.10 UNION ALL CHAPTER 7 HiveQL: 뷰 _7.1 쿼리의 복잡함을 줄여주는 뷰 _7.2 조건을 기반으로 데이터를 제한하는 뷰 _7.3 동적 테이블을 위한 뷰와 MAP 데이터형 _7.4 기타 CHAPTER 8 HiveQL: 색인 _8.1 색인 생성 __8.1.1 비트맵 색인 _8.2 색인 재구축 _8.3 색인 보기 _8.4 색인 삭제 _8.5 사용자 정의 색인 핸들러 구현 CHAPTER 9 스키마 설계 _9.1 날짜별 테이블 _9.2 파티션 설계 시 고려사항 _9.3 고유 키와 정규화 _9.4 동일 데이터에 대한 다중 패스 만들기 _9.5 임시 테이블 파티셔닝하기 _9.6 테이블 저장소 버킷팅하기 _9.7 테이블에 컬럼 추가하기 _9.8 컬럼 기반 테이블 사용하기 __9.8.1 반복 데이터 __9.8.2 다수의 컬럼 __9.9 압축하기 CHAPTER 10 튜닝 _10.1 EXPLAIN 사용하기 _10.2 EXPLAIN EXTENDED _10.3 LIMIT 튜닝 _10.4 최적화된 조인 _10.5 로컬 모드 _10.6 병렬 수행 _10.7 strict 모드 _10.8 맵퍼와 리듀서 수의 최적화 _10.9 자바 가상 머신 재사용 _10.10 색인 _10.11 동적 파티셔닝 튜닝 _10.12 투기적 실행 _10.13 다수의 GROUP BY 연산 결합하기 _10.14 가상 컬럼 CHAPTER 11 기타 파일 포맷과 압축 _11.1 설치된 코덱 확인 _11.2 압축 코덱 선택 _11.3 중간 과정 압축 _11.4 최종 출력 압축 _11.5 시퀀스파일 _11.6 압축하기 _11.7 파티션 아카이빙하기 _11.8 정리하기 CHAPTER 12 개발 _12.1 Log4J 속성 변경 _12.2 하이브 디버깅하기 _12.3 소스로부터 하이브 빌드하기 _12.3.1 다양한 하이브 테스트 케이스 실행하기 _12.3.2 후크 실행 _12.4 이클립스와 하이브 설정 _12.5 메이븐 프로젝트에서 하이브 _12.6 hive_test와 함께하는 하이브 테스트 _12.7 새로운 플러그인 개발 킷 CHAPTER 13 함수 _13.1 함수 탐색 및 설명 _13.2 함수 호출 _13.3 표준 함수 _13.4 집계 함수 _13.5 테이블 생성 함수 _13.6 생일로 별자리를 찾는 UDF _13.7 UDF vs. GenericUDF _13.8 영구적 사용을 위한 함수 등록 _13.9 사용자 정의 집계 함수 __13.9.1 GROUP_CONCAT을 따라 하는 COLLECT UDAF 함수 생성 _13.10 사용자 정의 테이블 생성 함수 __13.10.1 다중 로우 생성 UDTF __13.10.2 다중 컬럼을 이용한 단일 로우 생성 UDTF __13.10.3 복합 데이터형 효과를 내는 UDTF _13.11 UDF에서 분산 캐시 접근 _13.12 함수 어노테이션 __13.12.1 결정성 __13.12.2 상태 유지 __13.12.3 distinctLike _13.13 매크로 CHAPTER 14 스트리밍 _14.1 항등 변환 _14.2 데이터형 변환 _14.3 투사 변환 _14.4 조작 변환 _14.5 분산 캐시 사용 _14.6 로우 하나를 여러 로우로 변환하기 _14.7 스트리밍을 이용한 집계 계산 _14.8 CLUSTER BY, DISTRIBUTE BY, SORT BY _14.9 자바 스트리밍을 위한 GenericMR 도구들 _14.10 그룹 간 계산 CHAPTER 15 하이브 파일과 레코드 포맷 사용자화 _15.1 파일 vs. 레코드 포맷 _15.2 CREATE TABLE 문 파헤치기 _15.3 파일 포맷 __15.3.1 시퀀스파일 __15.3.2 RCFile __15.3.3 사용자 정의 입력 포맷 예제: DualInputFormat _15.4 레코드 포맷: SerDe _15.5 CSV와 TSV SerDe _15.6 ObjectInspector _15.7 Think Big 하이브 리플렉션 ObjectInspector _15.8 XML UDF _15.9 XPath 관련 함수 _15.10 JSON SerDe __15.11 에이브로 하이브 SerDe __15.11.1 테이블 속성을 이용한 에이브로 스키마 정의 __15.11.2 URI로 스키마 정의 __15.11.3 스키마 진화 __15.12 바이너리 출력 CHAPTER 16 하이브 쓰리프트 서비스 _16.1 쓰리프트 서버 구동하기 _16.2 그루비로 연결하기 _16.3 하이브 서버에 연결하기 _16.4 클러스터 상태 얻기 _16.5 결과 집합 스키마 _16.6 결과 가져오기 _16.7 쿼리 플랜 반환 _16.8 메타스토어 메소드 _16.8.1 예제 테이블 검사기 _16.9 하이브 서버 관리 __16.9.1 하둡 서비스 운영 __16.9.2 디렉터리 비우기 _16.10 하이브 쓰리프트 메타스토어 __16.10.1 쓰리프트 메타스토어 설정 __16.10.2 클라이언트 설정 CHAPTER 17 스토리지 핸들러와 NoSQL _17.1 스토리지 핸들러 배경 지식 _17.2 하이브 스토리지 핸들러 _17.3 HBase _17.4 카산드라 __17.4.1 정적 컬럼 매핑 __17.4.2 동적 컬럼 맵핑 __17.4.3 카산드라 SerDe 속성 _17.5 다이나모디비 CHAPTER 18 보안 _18.1 하둡 보안과 통합 _18.2 하이브 인증 _18.3 하이브 권한 __18.3.1 사용자, 그룹, 역할 __18.3.2 특권 부여와 회수 __18.3.3 파티션 레벨 특권 __18.3.4 자동 권한 부여 CHAPTER 19 잠금 _19.1 주키퍼를 이용한 하이브 잠금 제공 _19.2 명시적 배타적 잠금 CHAPTER 20 우지와 하이브 통합 _20.1 우지 액션 __20.1.1 하이브 쓰리프트 서비스 액션 _20.2 두 개의 쿼리를 실행하는 워크플로우 _20.3 우지 웹 콘솔 _20.4 워크플로우 내의 변수 _20.5 출력 캡처 _20.6 변수로 출력 캡처 CHAPTER 21 하이브와 아마존 웹 서비스 _21.1 왜 EMR인가? _21.2 인스턴스 _21.3 시작하기 앞서 _21.4 EMR 하이브 클러스터 관리하기 _21.5 EMR 하이브에서 쓰리프트 서버 _21.6 EMR에서 인스턴스 그룹 _21.7 EMR 클러스터 설정하기 __21.7.1 hive-site.xml 배치 __21.7.2 .hiverc 스크립트 배치 __21.7.3 메모리 집약적인 설정 _21.8 EMR에서의 지속성과 메타스토어 _21.9 EMR 클러스터 상의 HDFS와 S3 _21.10 S3에 리소스, 설정, 부트스트랩 스크립트 올리기 _21.11 S3에 로그 남기기 _21.12 스팟 인스턴스 _21.13 보안 그룹 _21.14 EMR vs. EC2, 그리고 아파치 하이브 _21.15 정리하기 CHAPTER 22 HCatalog _22.1 소개 _22.2 맵리듀스 __22.2.1 데이터 읽기 __22.2.2 데이터 쓰기 _22.3 명령행 _22.4 보안 모델 _22.5 아키텍처 CHAPTER 23 사례 연구 _23.1 m6d.com (Media6Degrees) __23.1.1 하이브와 R을 활용한 M6D의 데이터 분석 __23.1.2 M6D Pseudorank 사용자 정의 함수 __23.1.3 다수의 맵리듀스 클러스터에서 하이브 데이터 관리 _23.2 아웃브레인 __23.2.1 사이트 내 유입 경로 식별 __23.2.2 고유 값 세기 __23.2.3 사용자 활동 분석 _23.3 NASA 제트 추진 연구소 __23.3.1 지역 기후 모델 분석 시스템 __23.3.2 하이브를 선택한 이유 __23.3.3 도전과 극복 _23.4 포토버킷 __23.4.1 포토버킷의 빅데이터 __23.4.2 하이브를 위하여 어떤 하드웨어를 사용했나? __23.4.3 하이브로 이관할 데이터 __23.4.4 누가 사용하나? _23.5 심플리치 _23.6 카르마스피어 관점에서 고객사의 경험과 요구사항 __23.6.1 소개 __23.6.2 사례 [부록A] 오라클 마이그레이션 [부록B] 오픈소스 R하이브 [부록C] 용어 [부록D] 참고 문헌 |
|
몇 해 전부터 ‘클라우드’, ‘빅데이터’라는 말이 IT 업계의 뜨거운 감자로 떠올랐다. 당시 나는 이런 트렌디한 단어에 무감각해져 있었다. 주기적으로 새로운 기술이 이슈가 되고 IT 업계를 달구다가 조용히 사라지는 것을 봐왔던 것이 이유였을지도 모르겠다.
하지만, 오랫동안 연락되지 않던 사람들을 다시 만나게 해주고 사회와 정치에 대한 불만을 자유롭게 쏟아내어 여론을 좌지우지하는 소셜 네트워크는 빅데이터에 대한 나의 무관심에 일침을 가했다. 전세계 60억 인구를 대상으로 서비스하는 이런 소셜 네트워크 회사들이 매일매일 쏟아지는 많은 양의 데이터를 저장하고 분석하여 더 나은 서비스를 제공하고자 노력하는 모습을 보았기 때문이다. 빅데이터가 세상을 변화시키고 있었고, 그 일을 해보고 싶은 생각에 빅데이터를 전문으로 하는 회사에 입사하게 되었다. 지금 와서 이야기지만, 입사 당시 내 모습을 생각해보면 얼굴을 들 수 없을 정도다. 빅데이터에 대한 열정만 있었지 이 분야에 대한 기술은 제로였다. 하둡부터 시작해야지 맘 먹었으나 배워야 할 것들이 너무 많고 어려웠다. 오픈소스이고 사람들의 관심도 많다 보니 버전도 여러 가지였으며 하둡을 기반으로 하는 오픈소스들도 너무 많아서 집중하지 못하고 지치고 말았다. 그러던 와중에 하이브 쿼리를 통해 실시간 검색을 가능하도록 하는 업무가 내게 떨어졌고 그 일을 계기로 하이브에 대해 서서히 알게 되었다. 처음 하이브를 접했을 때 친절하지 않은 문서와 중요한 순간에 터져 나오는 사소한 오류들은 내게 좋은 인상을 주지 않았다. 하지만 이런 불평들을 잠재우게 하는 하이브만의 매력은 너무 컸다. 바로 SQL 쿼리만 알고 있다면 맵리듀스를 작성하지 않아도 빅데이터 분석이 가능하다는 것이다. 물론 기존 관계형 데이터베이스와는 다른 하이브만의 몇 가지 개념들이 있긴 하지만 그렇게 어려운 내용은 아니었다. 수백 줄의 맵리듀스 코드를 한 줄의 SQL로 대체하는 하이브의 단순한 사용이 주는 교육 및 개발 시간의 절약은 사소한 문제를 극복할 만큼 큰 것이었다. 지난해 말 이 책의 원서가 출간되었을 당시 회사에서 이메일로 번역 참가자를 모집했다. 비록 내가 이 책을 쓰지는 않았지만 번역이라도 해서 국내에 하이브를 보급시키는 데 앞장서고자 하는 욕심에 번역에 참여하게 되었으며 대표 역자까지 맡게 되었다. 번역 일은 순탄하지 않았다. 여러 명의 역자들이 작성한 글의 문체와 어휘들을 통일하는 일은 주말과 여가 시간을 오롯이 반납해야 했다. 비록 힘들고 어려운 과정이었지만 고진감래라는 말처럼 번역은 잘 마무리되었고 현재 회사에서 그 동안 쌓아놓은 노하우도 부록으로 실을 수 있게 되어서 그 어떤 일보다도 보람이 컸다. 그동안 빅데이터와 하이브에 대해 어려움을 느꼈던 분들이 있다면 이 책을 통해 많은 도움을 받았으면 하는 바램이다. _오세봉 ---「옮긴이의 글」 중에서 |
|
SQL로 친숙하게 만나는 빅데이터 분석하기!
이 책은 예제를 중심으로 여러분의 환경에서 하이브를 어떻게 설치하고 설정하는지 보여준다. 하둡과 맵리듀스에 대해 간략하게 설명하고 하이브가 하둡 생태계에서 어떻게 동작하는지도 보여준다. 또한 많은 회사가 테라바이트 데이터를 다루면서 겪었던 문제를 풀기 위해 어떻게 하이브를 이용했는지도 실제 사례를 통해서 엿볼 수 있다. 넥스알에서 개발한 ‘R하이브’와 ‘오라클에서 하이브로의 마이그레이션’을 부록으로 추가했다. 페이스북이 만든 SQL 호환 언어, 하이브! 하이브는 페이스북에서 대용량 데이터셋을 간편하게 사용하고자 만들었고, 이미 수많은 기업에서 사용한다. 하둡 분산 파일시스템이나 하둡과 연동하는 다른 파일시스템(MapR-FS, 아마존의 S3, HBase와 카산드라 같은 데이터베이스)에 저장된 데이터를 쿼리할 수 있는 SQL 호환 언어를 제공하는 하둡 생태계의 필수 도구인 하이브에 대해 알아보자. 대상 독자 데이터베이스를 업무상 사용하는 사람 NoSQL을 사용하는 개발자 클라우드 관련 개발자 분산 시스템과 데이터베이스를 연구하는 석사 이상 간략한 이 책의 내용 데이터베이스, 테이블, 뷰, 함수, 색인을 생성, 변경, 삭제하기 파일 및 데이터베이스의 데이터 포맷과 저장소 옵션 최적화 그룹핑, 필터링, 조인 및 기타 쿼리 메소드 사용자 정의 함수 생성하기 하이브 패턴과 안티-패턴 하이브와 다른 데이터 처리 프로그램과의 연동 NoSQL DB와 다른 데이터 저장소를 연결하는 스토리지 핸들러 이용 아마존 Elastic MapReduce에서 하이브 실행하기 |