Hadoop
여기에 내 노트에 대 한 소개와 Hadoop에 대 한 몇 가지 힌트는 오픈 소스 프로젝트를 기반으로. 그것은 당신에 게 유용 합니다 바랍니다.
관리 도구
Ambari: 웹 기반 도구를 제공 하 고, 관리 하 고 Apache Hadoop 클러스터를 모니터링 지원을 포함 Op HDFS, Hadoop MapReduce, 하이브, Hcatalog, HBase, 동물원의 사육 담당자, Oozie, 돼지와 Sqoop. Ambari 또한 대시보드는으로 클러스터 상태를 보기 위한 등 및 제공 능력, MapReduce 및 돼지를 보려면 heatmaps를 Pplications 시각 alongwith 그들의 성능, 사용자 친화적인 방식으로 특성을 진단 기능.
Ambari을 시스템 관리자 수 있습니다.
제공 Hadoop Clusterambari Hadoop 클러스터 서비스의 구성을 처리합니다. Ambari는 호스트의 수를 통해 Hadoop 서비스를 설치 하기 위한 단계별 마법사를 제공 합니다. 관리 Hadoop Clusterambari는 시작, 중지 및 Hadoop 서비스 구성에 대 한 관리를 제공 합니다. 전체 클러스터입니다. 모니터는 Hadoop Clusterambari Hadoop 클러스터의 상태를 모니터링 하기 위한 대시보드를 제공 합니다. Ambari 통계 컬렉션에 대 한 중추를 활용합니다. Ambari 시스템 경고 Nagios를 활용 하 고 주의 필요로 할 때 이메일을 보내드립니다 (예를 들어, 노드가, 다시 물자 디스크 낮습니다, 등. Ambari 수 있도록 응용 프로그램 개발자에 시스템 통합: Hadoop 프로비저닝, 관리, 및 Moni 쉽게 통합 Toring Ambari REST Api와 그들의 자신의 응용 프로그램을 기능.
Chukwa:chukwa 대형 분산된 시스템을 모니터링 하기 위한 오픈 소스 데이터 수집 시스템입니다. Chukwa를 기본 제공 하는 하 둡 분산 파일 시스템 (HDFS) 및 맵/리듀스 프레임 워크 위쪽과 Hadoop의 Scalabi를 상속 Lity 고 견고성입니다. Chukwa는 또한 aflexible 및 표시, 모니터링 및 분석을 위한 강력한 도구 키트 포함 수집 된 데이터입니다.
데이터 저장
아 브로: 데이터 serialization 시스템.
아 브로 제공합니다.
다양 한 데이터 구조입니다. 소형, 고속, 이진 데이터 형식입니다. 영구 데이터를 저장할 컨테이너 파일입니다. 원격 프로시저 호출 (RPC)입니다. 동적 언어의 간단한 통합입니다. 읽기 또는 쓰기 데이터 파일을 필요 하지 않습니다 코드 생성은도 또는 RPC 프로토콜 구현. 정적 입력에 대 한 구현만 가치가 옵션 최적화로 코드 생성.
Avro는 중고품, 프로토콜, 등 시스템에 유사한 기능을 제공합니다. Avro는 다음과 같은 근본적인 측면에서이 시스템에서 다릅니다.
동적 타이핑: 아 브로 코드 생성을 요구 하지 않는다. 데이터는 항상 함께 스키마로 코드 생성, 정적 데이터 없이 데이터의 전체 처리 수 등. 이 일반 데이터 처리 시스템 및 언어의 건설 용이. 데이터 지정: 스키마는 데이터를 읽을 때 현재 이기 때문에, 상당히 적은 형식 정보는 데이터를 사용 하 여 인코딩된 필요가 작은 직렬화 크기 결과. 수동으로 할당 필드 Id: 때 A 스키마 변경, 모두 오래 되 고 새로운 스키마는 항상-현재 데이터를 처리할 때 그래서 차이가 해결 될 수 상징적, 필드 이름을 사용 하 여.
Hbase:use 아파치 HBase 때 필요 랜덤, 실시간 읽기/쓰기 액세스를 당신의 큰 데이터. 이 프로젝트의이 목표는 매우 큰 테이블-수십억 행 X의 호스팅 열 수백만-Commod의 클러스터 꼭대기 ity 하드웨어입니다. 아파치 HBase는 Google의 bigtable 후 오픈-소스, 분산, 버전, 열 기반 저장소:는 않는지 구조적 데이터 창 외에 드 스토리지 시스템. 마찬가지로 Bigtable Google 파일 시스템에서 제공 하는 분산된 데이터 저장 활용, 아파치 HBase 제공 -Hadoop 및 HDFS 상단 기능 처럼.
기능
선형 및 모듈 확장성입니다. 엄격 하 게 일관 된 읽기 및 쓰기 Tablesautomatic 장애 조치 구성 하 고 자동 샤 딩에 대 한 기본 클래스를 regionservers.convenient 사이 지원 Hadoop MapReduce 작업 아파치 HBase 테이블을 백업 해야 합니다. 클라이언트 액세스를 위한 사용 하기 쉬운 자바 Api입니다. 캐시 및 실시간 쿼리에 대 한 블 룸 필터를 차단 합니다. 쿼리 조건자 푸시 다운 서버 사이드 Filtersthrift 게이트웨이 및 나머지 ful 웹 서비스를 통해이 XML 지원, Protobuf, 한 d 이진 데이터 인코딩 optionsextensible jruby 기반 (JIRB) Shellsupport Hadoop 통계 통계를 통해 내보내기 시스템 파일 또는 신경; JMX를 통해 또는
하이브: 하이브는 데이터 웨어하우스 시스템 하 둡에 대 한이 쉬운 데이터 요약, 임시 쿼리 및 항문에 용이 하 게 Hadoop 호환 되는 파일 시스템에 저장 하는 큰 데이터 집합의 Ysis. 하이브는이 데이터에 구조를 프로젝트 라는 Sql 같은 언어를 사용 하 여 데이터를 쿼리 하는 메커니즘을 제공 합니다. 동시 / 언어 또한 수 있습니다 전통적인 맵/리듀스 프로그래머 그들의 사용자 정의 매퍼와 연결할 그것이 불편 하거나 HIVEQL에이 논리를 표현 하는 비효율적인.
Accumulo: 아파치 Accumulo 정렬, 분산된 키/값 저장소는 강력한, 확장성, 높은 성능 데이터 스토리지 및 검색 시스템입니다. 아파치 Accumulo Google의 BigTable 설계에 기반 하 고 아파치 하 둡, 동물원의 사육 담당자, 및 중고품 위에 구축 됩니다. 아파치 Accumulo "형태의 셀 기반 액세스 제어는 SE의 BigTable에 몇 가지 새로운 개선 기능 서버 사이드 프로그래밍 메커니즘에서 다양 한 데이터에 키/값 쌍을 수정할 수 있는 프로세스를 가리킵니다.
라: 아파치 라 오픈 소스 프레임 워크 메모리 데이터 모델 및 큰 데이터에 대 한 지 속성을 제공 합니다. 라 지원 열 상점, 키 값 저장소, 문서 저장소와 RDBMS, 유지 하 고 Exten으로 데이터 분석 sive 아파치 Hadoop MapReduce 지원입니다.
관계형 데이터베이스에 대 한 다양 한 우수한 ORM 프레임 워크는, 비록 데이터 모델링 NoSQL 데이터 저장소에 다 홍보 그들의 관계형 사촌에서 Ofoundly입니다. 또한, JDO 같은 데이터 모델 불가 지론 프레임 워크 하나 전체 포로 사용 해야 하는 사용 사례에 대 한 충분 하지 않습니다. 어 열 매장에서 데이터 모델의. 라 사용 하기 쉬운 메모리 데이터 모델 및 DAT와 큰 데이터 프레임 워크에 대 한 지 속성 사용자를 제공 함으로써이 격차를 줄여 준다. A 특정 매핑을 저장 하 고 아파치 하 둡 지원 내장.
라에 대 한 전반적인 목표는 "큰 데이터."에 대 한 표준 데이터 표현 및 지 속성 프레임 워크를 될 수 라의도 지도 다음과 같이 그룹화 수 있습니다.
데이터 지 속성: 열 저장 HBase, 카산드라, hypertable; 지속 개체 키 값 저장소 Voldermort, Redis, 등등; SQL 데이터베이스, Hadoop의 HDFS의 로컬 파일 시스템에 MySQL, HSQLDB, 플랫 파일 등. 데이터 액세스: 위치 그것에 관계 없이 데이터에 액세스 하기 위한 사용 하기 쉬운 자바 친화적인 일반적인 Api. 인덱싱: 라 API와 데이터 액세스/쿼리 Lucene, SOLR 인덱스를 지속 개체. 분석: accesing 데이터와 아파치 돼지, 아파치 하이브, Cascadingmapreduce Suppo에 대 한 어댑터를 통해 분석 만들기 Rt:out-의-는-상자와 광범위 한 MapReduce (Apache Hadoop) 데이터 저장소에서 데이터에 대 한 지원.
ORM은 개체 관계에 대 한 매핑. 그것은 그래서, 일반 도메인 수준 개체 C는 abstacts 지 속성 (주로 관계형 데이터베이스) 레이어 기술 저장/로드 데이터베이스에 성가신 노력 없이 사용 됩니다. 고 라에서 현재 솔루션에서 다르다:
라는 NoSQL 데이터 저장소에 특별히 초점을 맞춘 하지만 또한 SQL 데이터베이스에 대 한 지원 하도록 제한 했다. 라에 대 한 주요 사용 사례는 액세스/Hadoop.gora를 사용 하 여 큰 데이터 분석을 사용 하 여 Avro 콩 정의 하지 바이트 코드 en Hancement 또는 주석입니다. 개체 데이터 저장소 매핑을 특정, 백엔드 되므로이 전체 데이터 모델을 활용할 수 있습니다. 때문에 복잡 한 SQL 매핑을 무시 라 간단 하다. 라 지 속성, 인덱싱 및 데이터의 분석 등, 하이브, Lucene, 돼지를 사용 하 여 지원할 것입니다.
Hcatalog:apache Hcatalog는 Apache Hadoop을 사용 하 여 만든 데이터에 대 한 테이블 및 저장 관리 서비스입니다.
이 포함 됩니다.
공유 스키마와 데이터를 제공 하는 메커니즘을 입력 합니다. 테이블 추상화를 제공 하 고이 사용자가 어디에, 어떻게 염려 하지 않아도 그래서 그들의 데이터가 저장 됩니다. 돼지, 지도, 그리고 하이브 등 데이터 처리 도구를 통해 상호 운용성을 제공합니다.
개발 플랫폼
돼지: 아파치 돼지는이 데이터 아나를 표현 하기 위한 고급 언어의 구성 하는 큰 데이터 집합을 분석 하기 위한 플랫폼 세포의 용 해 프로그램, 이러한 프로그램을 평가 하기 위한 인프라와 결합. 돼지 프로그램의 현저한 재산은 그들의 구조에는 en 상당한 병렬화 의무가 있습니다. Ables 매우 큰 데이터 세트를 처리 하기 위해 그들.
현 시점에서 돼지의 인프라 계층 map-reduce의 시퀀스를 생성 하는 컴파일러의 구성 이미 존재 하는 어떤 대규모 병렬 구현 (예: 하 둡 서브 프로젝트). 다음 키 속성이 돼지 라틴어 라는 텍스트 언어가 돼지의 언어 계층에 의하여 현재 이루어져 있다:
프로그래밍의 용이성입니다. 그것은 간단 하 고, "병렬"의 병렬 실행 데이터 분석 작업을 달성 하기 위해 사소한입니다. 여러 개의 데이터 변환을 구성 하는 복잡 한 작업 명시적으로 가는데 데이터 흐름 시퀀스로 인코딩됩니다. G 그들 작성, 이해, 및 유지 관리를 쉽게. 최적화 기회입니다. 최적화 하는 작업에서 인코딩된 허가 하는 방법, 그들의 실행을 사용자 효율 보다는 의미에 s입니다. 확장성입니다. 사용자는 특수 처리를 할 수 그들의 자신의 기능을 만들 수 있습니다.
Bigtop:bigtop 포장의 개발 및 Apache Hadoop 생태계의 테스트에 대 한 프로젝트입니다.
Bigtop의 주요 목표는 포장 및 hadoop 관련 프로의 상호 운용성 테스트 커뮤니티를 구축 프로젝트입니다. 이것은 다양 한 수준 (포장, 플랫폼, 런타임, 업그레이드, 등...)는 FOCU 함께 커뮤니티에 의해 개발 된 테스트를 포함 전체 보다는 개별 프로젝트 시스템에 s.
Rhipe:rhipe (Hree 지불 ')는 R와 Hadoop 통합된 프로그래밍 환경입니다. 그것은 그리스어에서 '순간'에 의미합니다. Rhipe R와 Hadoop의 합병 이다입니다. R은 널리 사용 되는, 대화형 언어 및 환경 데이터 분석에 대 한 높은 평가 받고. Hadoop은 Hadoop 분산된 파일 시스템 (HDFS)와 분산 MapReduce 계산의 구성 되어 있습니다. Rhipe d 수행 분석 & 큰 데이터의 복잡 한 분석은 전체적으로에서 Ha와 R. Rhipe 내 Doop 크고, 병렬 계산을 수행 하.
R/hadoop:이 프로젝트의 목표를 사용 하 여 R 인터페이스 오픈 소스 분산 컴퓨팅 environm 쉽게 제공 하는 ent 둡 둡 스트리밍 등 고는 Hadoop 분산 파일 시스템.
데이터 전송 도구
Sqoop:apache Sqoop는 효율적으로 Apache Hadoop 및 구조적된 datasto 사이 대량 데이터 전송 설계 되었습니다. 관계형 데이터베이스와 같은 입술으로 수 사용 하 여 데이터를 가져오는 외부 구조적된 데이터에서 Hadoop으로 Sqoop 분산 파일 시스템 또는 관련된 시스템 s 처럼 하이브 및 HBase 반대로, sqoop Hadoop에서 데이터를 추출 하 고 같은 외부 구조적된 데이터를 내보내기에 사용할 수 있습니다. 알 데이터베이스 그리고 엔터프라이즈 데이터 웨어하우스입니다.
수조: 수조는 효율적으로 수집, 집계, 및 큰 이동에 대 한 분산, 안정적이 고 사용할 수 있는 서비스를 로그 데이터의 마 운 츠입니다. 그것은 간단 하 고 유연한 아키텍처 스트리밍 데이터 흐름에 따라. 그것은 강력 하 고 가변 신뢰성 메커니즘 및 많은 장애 조치 및 복구 허용 오류. 그것은 간단한 확장 가능한 데이터 모델 온라인 분석 응용 프로그램에 대 한 수 있는 사용 합니다.
워크플로우 및 파이프라인
Oozie:
Oozie는 Apache Hadoop 작업을 관리 하려면 워크플로 스케줄러 시스템입니다. Oozie 워크플로우 작업은 감독된 acyclical 그래프 (dag) 동작입니다. Oozie 코디네이터 작업은 시간 (주파수) 및 데이터 availabilty 계기로 재발 Oozie 워크플로우 작업. Oozie는 Hadoop 스택 지원 (예: Java 상자 Hadoop 작업에 여러 종류의 나머지에 통합 스트리밍 Map-reduce 맵 리듀스, 돼지, 하이브, Sqoop과 Distcp)로 시스템으로 특정 작업 (자바 프로그램 등 고 쉘 스크립트)입니다. Oozie는 확장 가능 하 고 신뢰할 수 있는 확장 가능한 시스템입니다.
위기: 아파치 위기 자바 라이브러리 작성, 테스트, MapReduce 파이프라인을 실행 하기 위한 프레임 워크를 제공 합니다. 그것의 목표는 많은 사용자 정의 기능으로 구성 된 확인 하려면 파이프라인 실행 T입니다.
아파치 위기 도서관에 가입 하 고 데이터 Aggr 같은 작업에 대 한 간단한 자바 API는 Hadoop MapReduce 위에 실행 Egation 일반 MapReduce에 구현 하는 지루한 작업입니다. Api는이 관계형 모델, 시계열 등을 자연스럽 게 맞지 않는 데이터를 처리할 때 특히 유용 프로토콜 버퍼 또는 Avro 레코드 및 HBase 행 및 열 같은 개체 형식을 직렬화. 스칼라 사용자에 대 한 깨 물어 API는 자바 Api 위에 만들어져 REPL (Read eval print 화장실을 포함 하 고 있다 p) 작성용 MapReduce 파이프라인.