이제 아파치 하 둡 빅 데이터 산업의 발전의 뒤에 원동력이 되고있다. 하이브 및 돼지와 같은 기술 자주 언급, 하지만 그들은 모두 기능과 왜 그들은 이상한 이름 (예: Oozie, 동물원의 사육 담당자, Flume) 필요.
Hadoop은 대규모 데이터 (큰 데이터 볼륨은 일반적으로 10-100 기가바이트 또는 더, 다양 한 데이터 형식 포함 하 여 구조, 구조화, 등)의 저렴 한 처리에 가져왔다 기능. 하지만 차이점은 무엇입니까?
오늘날 엔터프라이즈 데이터 웨어하우스 및 관계형 데이터베이스 잘 구조화 된 데이터를 처리 하 고 많은 양의 데이터를 저장할 수 있습니다. 하지만 비용이 다소 비싼. 데이터에 대 한 이러한 요구 사항을 처리할 수 있는 데이터의 종류와이 관성 영향 데이터 웨어하우스에서 이기종 데이터의 대량에 직면할 때 민첩성에 대 한 검색의 단점을 제한 합니다. 이 일반적으로 데이터 소스 적 조직 내에서 채굴을 의미 합니다. 이것은 Hadoop 및 전통적인 데이터 처리 방법의 가장 큰 차이입니다.
이 종이 Hadoop 시스템의 구성 요소에 집중 하 고 각 구성 요소의 기능에 설명 합니다.
Mapreduce-hadoop의 핵심
Google의 웹 검색 엔진 알고리즘의 역할에서 혜택 동안 MapReduce 역할을 했다 거 대 한 백그라운드에서. MapReduce 프레임 워크는 오늘날의 대형 데이터 처리 뒤에 가장 영향력 있는 "엔진" 되었다. Hadoop, 이외에 당신은 또한 MapReduce에 MPP을 찾을 거 야 (사이 베이스 IQ 출시 목록 데이터베이스) 및 (예: 수직 및 MongoDB) NoSQL.
MapReduce의 중요 한 혁신은 큰 데이터 집합 쿼리를 처리할 때 그것은 그것의 작업을 궤 란 하 고 여러 노드를 실행에 그것을 처리 하는 것. 때 데이터 볼륨은 매우 큰 분산된 컴퓨팅의 이점을 반영 하는이 시간에는 서버에 문제가 없습니다 해결할 수 있습니다. 리눅스 서버와이 기술을 결합 하는 것은 계산의 대규모 배열 대체 하 매우 비용 효율적인 방법입니다. 야 후 2006 년에, Hadoop의 미래 가능성을 보고 하 고 Hadoop 설립자 있던 2008 Hadoop에 이미 특정 크기 하 둡 기술을 개발 하기 위해 더 그 커팅을 초대. Hadoop 프로젝트는 더욱 유용 성과 기능을 향상 시키기 위해 개발의 초기 단계에서 성숙 하는 때 동시에 다른 부품의 번호를 흡수 합니다.
MapReduce와 HDFs
우리는 대용량 데이터를 처리 하기 위해 여러 서버 작업을 배포 하는 mapreduce의 기능을 논의. 각 서버 HDFs의 역할은 데이터에 액세스할 수 있어야 합니다 분산 컴퓨팅, 대 한 (Hadoop 분산 파일 시스템).
MapReduce와 HDFs의 조합은 강력 하다. 대용량 데이터의 처리, 하는 동안 전체 계산 프로세스는 Hadoop 클러스터에 있는 서버에 오류가 발생 하는 경우 종료 되지 않습니다. 동시에 Hfds 오류 전체 클러스터에 오류가 발생할 경우 데이터 중복을 보장할 수 있습니다. 계산이 완료 되 면 Hfds 노드를 결과 씁니다. HDFs에 저장 된 데이터 형식은 요구, 데이터 구조화 또는 다른 카테고리 수 있습니다. 반대 관계형 데이터베이스 구조와 데이터를 저장 하기 전에 스키마를 정의 해야 합니다.
개발자는 데이터를 의미 있는 있도록 코드 책임을 씁니다. Hadoop MapReduce 수준 프로그래밍 자바 Api를 활용 하 고 수동으로 HDFs에 데이터 파일을 로드할 수 있습니다.
돼지와 하이브
개발자, 자바 Api를 직접 사용 될 수 있습니다 지루한 또는 오류가, Hadoop에 프로그램 하는 자바 프로그래머의 유연성을 제한 하는 동안. 그래서 Hadoop Hadoop 프로그래밍을 쉽게 두 가지 솔루션을 제공 합니다.
돼지는 Hadoop에 대 한 일반적인 작업 작업을 단순화 하는 프로그래밍 언어입니다. 돼지는 명시적 변환 데이터, 데이터를 로드 하 고 최종 결과 저장할 수 있습니다. 돼지 내장 작업 (예: 로그 파일) 의미 있는 반 구조화 된 데이터 확인. 같은 시간에 돼지 자바 및 지원 데이터 변환에 추가 된 사용자 지정 데이터 형식 사용 하 여를 확장할 수 있습니다.
하이브는 데이터 웨어하우스 Hadoop에서의 역할을 합니다. HDFS의 구조에 데이터를 추가 하는 하이브 (하이브 superimposes HDFS에 데이터 구조) SQL 구문에 비슷한 데이터 쿼리를 사용할 수 있습니다. 돼지, 처럼 하이브의 핵심 기능 확장 됩니다.
돼지와 하이브는 항상 수수께끼입니다. 하이브는 데이터 웨어하우스의 작업에 대 한 더 적합, 하이브는 정적 구조와 자주 분석 작업을 위해 주로 사용 된다. 하이브, SQL, 처럼 하면 Hadoop 및 기타 bi 도구는 이상적인 교차 수 있습니다. 돼지 큰 데이터 세트에 개발자에 게 더 많은 유연성을 제공 하 고 더 큰 응용 프로그램에 포함에 대 한 데이터 스트림을 변환할 간결한 스크립트의 개발을 허용 한다. 돼지는 하이브에 비해 상대적으로 경량 이며 그것의 주요 이점은 그것 크게 Hadoop 자바 Api를 직접 사용 하 여 비교 하는 코드의 양을 줄일 수 있습니다. 이 때문에, 돼지는 여전히 소프트웨어 개발자의 많은 수를 끈다.
데이터 액세스를 향상: HBase, Sqoop, 및 수조
Hadoop 코어는 HDFS, 처리 하 고 다음 검색에 로드 된 데이터는 일괄 처리 시스템입니다. 컴퓨팅에 대 한이 다소 역행 하는, 하지만 일반적으로 상호 작용 하 고 랜덤 액세스 데이터 필요 합니다. HBase 열 기반 데이터베이스로 HDFs에서 실행 됩니다. HBase Google BigTable 청사진으로. 신속 하 게 찾아서 수십억 호스트에서 데이터의 행에 내에서 필요한 데이터에 액세스 하는 프로젝트의 목표가입니다. HBase는 엄청난 양의 데이터 처리를 MapReduce를 사용 합니다. 같은 시간에 모두 하이브 및 돼지 hbase와 함께에서 사용할 수 있습니다, 그리고 하이브를 돼지 hbase, hbase에 처리 하는 데이터 통계를 할 매우 쉽게에 대 한 고급 언어 지원을 제공 합니다.
하지만 데이터의 임의의 저장 권한을 부여 하려면 HBase는 또한 몇 가지 제한 했다: 예를 들어 하이브 및 HBase 성능은 원래 HDFs 하이브 보다 느립니다 4-5 시간. 동시에 HBase 30PB의 HDFS 용량 제한에 비해 PB 수준 데이터를 저장할 수 있습니다. HBase 임시 분석에 적합 하지 않습니다, 그리고 HBase는 더 큰 데이터 로그, 계산 및 시계열 데이터를 포함 하 여 큰 응용 프로그램의 일부로 통합 하 적합.
데이터와 출력 데이터
데이터 상호 운용성과 프로세스의 나머지 Sqoop과 수조를 향상 시킬 수 있습니다. Sqoop 함수 Hadoop으로 관계형 데이터베이스에서 데이터를 가져올 하 고 Hfds 또는 하이브에 직접 그것을 가져올 것입니다. 스트리밍 데이터를 가져오거나 HDFs로 직접 데이터 로그 flume 디자인 설계 되었습니다.
하이브의 친절 한 SQL 쿼리 데이터베이스 도구 JDBC 나 ODBC 데이터베이스 드라이버를 통해 연결 된 다양 한 데이터베이스에 연결에 이상적입니다.
동물원의 사육 담당자 및 Oozie 워크플로우를 조정에 대 한 책임
점점 더 많은 프로젝트 Hadoop 가족에 가입 하 고 클러스터 시스템의 일부가, 대형 데이터 처리 시스템 조정 그들의 작업에 대 한 책임은 필요 합니다. 계산 노드의 증가 함께 클러스터 구성원 서로와 동기화 하 여 어디에서 서비스에 액세스 하 고, 그것을 구성 하는 방법을 이해 해야 동물원의 사육 담당자.
때로는 Hadoop에서 수행 되는 작업 여러 맵/리듀스 작업을 함께 연결 하 고 아마도 그들 간의 종속성을 배치 해야 합니다. Oozie 컴포넌트 워크플로 및 개발자가 사용자 지정 솔루션을 작성할 필요 없이 종속성을 관리할 수 있는 기능을 제공 한다.
Ambari 가입 하 둡, 최신 프로젝트 이며 Ambari 프로젝트는 Hadoop 프로젝트로 모니터링 및 관리와 같은 핵심 기능을 통합 하도록 설계 되었습니다. Ambari는 시스템 관리자가 배포 하 고 Hadoop, 구성 수 클러스터를 업그레이드 하 고 서비스를 모니터링. 그것은 또한 API 통해 다른 시스템 관리 도구와 통합할 수 있습니다.
아파치 whirr complementarity의 높은 학위를 제공 하는 구름에서 실행 클래스 라이브러리 (포함 Hadoop)의 집합입니다. WHIRR는 비교적 중립 지금 이며 현재 아마존 e c 2와 Rackspace 서비스를 지원 합니다.
기계 학습: Mahout
관련된 데이터의 다양 한 이어질 다양 한 단체의 다양 한 요구, 이러한 데이터의 분석 방법의 다양 한. Mahout 제공 합니다 확장 가능한 기계 학습 도메인의 고전적인 알고리즘을, 개발자가 더 쉽고 빠르게 스마트 응용 프로그램을 만들 수 있도록 설계 되었습니다. Mahout 많은 구현, 클러스터링, 분류, 필터링 권장 포함, 자주 아이 광산에 포함 되어 있습니다.
Hadoop을 사용 하 여
일반적으로, 하 둡 분산된 환경에 적용 됩니다. 이전 리눅스 상황, 공급 업체는 그들의 자신의 도구 및 관리 기능 추가 및 Apache Hadoop 생태계의 구성 요소를 테스트 통합. (Li/컴파일)
원래 링크: Forbes.com
(책임 편집자: 류 펜)