Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

Hadoop 에코시스템 기본 사항:1부

원래 Tricore 발행:2017년 7월 10일

Apache™ Hadoop®은 분산 컴퓨팅 환경에서 방대한 양의 데이터를 처리하도록 설계된 오픈 소스 Java 기반 프레임워크입니다. Doug Cutting과 Mike Cafarella는 2005년에 출시된 Hadoop을 개발했습니다.

상용 하드웨어를 기반으로 구축된 Hadoop은 하드웨어 오류가 일반적이라는 기본 가정에 따라 작동합니다. Hadoop 프레임워크는 이러한 실패를 해결합니다.

2부로 구성된 이 블로그 시리즈의 1부에서는 빅 데이터, Hadoopecosystem 및 Hadoop 프레임워크의 일부 주요 구성 요소를 다룹니다.

데이터가 그 어느 때보다 커짐

데이터는 모든 조직에 중요하며 빅 데이터는 귀중한 비즈니스 통찰력으로 이어질 수 있는 분석을 위한 새로운 기회를 열어주고 있습니다. 빅데이터 조직의 저장 용량 및 처리 능력을 초과하는 데이터를 말합니다.

빅 데이터는 소셜 네트워크, CCTV(Closed Caption Television) 카메라, 센서, 온라인 쇼핑 포털, 호텔 데이터, GPS(Global Positioning System), 자동차 산업 및 엄청난 양의 정보를 생성하는 기타 소스에서 비롯될 수 있습니다.

빅 데이터에는 세 가지 주요 측면이 있으며 모두 무서운 속도로 진행되고 있습니다.

  • 볼륨 :빅데이터의 양은 기가바이트에서 테라바이트, 페타바이트로 빠르게 증가하고 있습니다. 이를 저장하려면 엄청난 양의 디스크 공간이 필요합니다.

  • 속도 :빅 데이터는 일반적으로 데이터 센터에 저장됩니다. 데이터를 로컬 워크스테이션으로 전달하려면 고속 데이터 프로세서가 필요합니다.

  • 다양성 :데이터는 크게 정형, 비정형, 반정형으로 분류할 수 있습니다.

다음 방정식으로 빅 데이터를 요약할 수 있습니다.

빅 데이터 =데이터의 (볼륨 + 속도 + 다양성)

다음 이미지는 이러한 개념을 시각화한 것입니다.

Hadoop 에코시스템 기본 사항:1부 3V(볼륨, 다양성 및 속도

이미지 출처:3Vs (볼륨, 버라이어티, 벨로시티)

하둡 에코시스템

하둡 생태계라는 용어 Apache Hadoop 소프트웨어 라이브러리의 다양한 구성 요소를 나타냅니다. 이 생태계는 서로 상호 작용하는 다양한 모듈 세트로 구성됩니다. 이러한 모듈은 빅 데이터 처리와 관련된 고유한 요구 사항을 해결하도록 설계된 도구 및 액세서리 세트를 제공합니다. 에코시스템은 아래에서 논의하는 Hadoop 프레임워크의 핵심 구성 요소와 추가 모듈을 포함한 모든 Hadoop 모듈을 포함합니다.

하둡 프레임워크의 구성요소

Hadoop 프레임워크에는 다음과 같은 핵심 구성 요소가 포함됩니다.

분산 ​​스토리지

Hadoop에서 분산 스토리지를 활성화하기 위해 여러 조각이 함께 제공됩니다.

하둡 분산 파일 시스템

Hadoop에서 분산 스토리지는 HDFS(Hadoop Distributed FileSystem)라고 합니다. 이 시스템은 중복 스토리지를 제공하며 다음과 같은 특징이 있습니다.

  • 상용 하드웨어에 데이터를 안정적으로 저장하도록 설계되었습니다.

  • 하드웨어 오류를 예상하도록 제작되었습니다.

  • 대용량 파일 및 일괄 삽입을 위한 것입니다. (한 번 쓰고 여러 번 읽는다.)

HBase

HBase는 분산된 열 지향 NoSQL 데이터베이스입니다. HBase는 기본 스토리지에 HDFS를 사용하고 MapReduce와 포인트 쿼리(무작위 읽기)를 사용하는 배치 스타일 계산을 모두 지원합니다.

HBase는 다음 작업도 수행합니다.

  • 대량의 데이터 볼륨(최대 수십억 행)을 범용 하드웨어 클러스터에 저장합니다.

  • 대량은 로그, 문서, 실시간 활동 피드 및 가져온 원시 데이터를 저장합니다.

  • Hadoop 애플리케이션이 사용하는 데이터에 대한 읽기 및 쓰기를 일관되게 수행합니다.

  • MapReduce 기능을 사용하여 데이터 저장소를 집계하거나 처리할 수 있습니다.

  • 분석 및 기계 학습을 위한 데이터 플랫폼을 제공합니다.

HC카탈로그

HCatalog는 Pig™, MapReduce 및 Hive™와 같은 Hadoop 애플리케이션이 파일이 아닌 테이블 형식으로 데이터를 읽고 쓸 수 있도록 하는 Hadoop용 테이블 및 스토리지 관리 계층입니다.

또한 다음과 같은 기능도 제공합니다.

  • Hadoop 애플리케이션이 사용하는 데이터를 저장하기 위한 중앙 집중식 위치입니다.

  • 순차적이고 반복적인 Hadoop 프로세스를 위한 재사용 가능한 데이터 저장소입니다.

  • 관계형 추상화의 데이터 저장.

  • 메타데이터 관리.

분산 처리

Hadoop은 MapReduce 및 YARN(Yet Another Resource Negotiator)에 의존하여 분산 처리를 지원합니다.

맵리듀스

MapReduce는 상용 머신의 대규모 클러스터에서 실행되는 분산 데이터 처리 모델 및 실행 환경입니다. MapReduce를 사용하면 저장한 데이터에서 통찰력을 생성할 수 있습니다. MapReduce 알고리즘을 사용하여 모든 작업을 Map 또는 Reduce 기능으로 나눕니다.

MapReduce는 다음과 같은 이점을 제공합니다.

  • 크고 이질적인 데이터 세트에 대한 집계(카운팅, 정렬 및 필터링).

  • Map 또는 Reduce 작업의 확장 가능한 병렬 처리

  • 분산 작업 실행.

YARN은 Apache Hadoopecosystem의 클러스터 및 리소스 관리 계층입니다. 2세대 Hadoop 프레임워크의 주요 기능 중 하나입니다.

YARN은 다음과 같은 기능을 제공합니다.

  • 애플리케이션을 예약하여 작업의 우선 순위를 지정하고 빅 데이터 분석 시스템을 유지 관리합니다.

  • 더 큰 아키텍처의 일부인 YARN은 데이터를 집계하고 정렬하여 데이터 검색을 위한 특정 쿼리를 수행합니다.

  • 특정 응용 프로그램에 리소스를 할당하고 다른 종류의 리소스 모니터링 작업을 관리하는 데 도움이 됩니다.

머신 러닝

Hadoop은 확장 가능한 기계 학습 알고리즘을 만드는 데 주로 사용되는 오픈 소스 프로젝트인 Apache Mahout을 통해 기계 학습을 지원합니다. Mahout은 일반적으로 백그라운드에서 Hadoop 인프라와 함께 실행되어 방대한 양의 데이터를 관리하는 데이터 마이닝 프레임워크입니다.

Mahout은 다음과 같은 기능을 제공합니다.

  • 대용량 데이터에서 데이터 마이닝 작업을 수행하기 위한 즉시 사용 가능한 프레임워크입니다.

  • Hadoop 위에 작성되고 Mahout이 분산 환경에서 잘 작동할 수 있도록 하는 알고리즘입니다.

  • 대규모 데이터 세트의 빠른 분석.

  • 진화 프로그래밍을 위한 분산 피트니스 기능 기능. 또한 매트릭스 및 벡터 라이브러리도 포함합니다.

워크플로 모니터링 및 예약

Oozie는 작업 관리를 위한 Hadoop의 시스템입니다. 이 워크플로 스케줄러는 종속 작업에 대한 워크플로를 실행합니다. 이를 통해 사용자는 Hadoop에서 병렬 및 순차 작업을 실행하는 워크플로의 DAG(방향성 비순환 그래프)를 생성할 수 있습니다.

Oozie는 매우 유연합니다. 작업을 쉽게 시작, 중지, 일시 중지 및 다시 실행할 수 있습니다. 또한 Oozie를 사용하면 실패한 워크플로를 매우 쉽게 다시 실행할 수 있습니다.

Oozie는 확장 가능하며 Hadoop 클러스터에서 수천 개의 워크플로(각각 수십 개의 작업으로 구성됨)의 적시 실행을 관리할 수 있습니다.

스크립팅

개발자는 Hadoop에서 스크립팅을 위해 Apache Pig를 사용할 수 있습니다. 스크립팅은 복잡한 MapReduce 변환을 생성하기 위해 aSQL 기반 언어와 실행 환경을 사용합니다. Pig는 Pig 라틴어 코딩 언어로 작성되었지만 실행 가능한 MapReduce 작업으로 변환됩니다. 또한 Pig를 사용하면 Java를 사용하여 확장 또는 사용자 정의 함수(UDF)를 생성할 수 있습니다.

Pig는 또한 다음과 같은 것들을 제공합니다:

  • HDFS의 원시 데이터에 대한 ETL(Extract-Transform-Load) 작업 및 절차를 실행하기 위한 스크립팅 환경입니다.

  • 복잡한 Map Reduce 기능을 만들고 실행하기 위한 SQL 기반 언어입니다.

  • 크고 이질적인 데이터 세트에 대한 데이터 처리, 연결 및 도식화.

  • 고급 데이터 흐름 언어입니다.

  • 데이터 처리에 집중할 수 있도록 하는 추상화 계층입니다.

결론

Hadoop과 MapReduce 프레임워크는 이미 생물정보학 커뮤니티, 특히 차세대 시퀀싱 분석 분야에서 상당한 사용자 기반을 보유하고 있습니다. 이 분야에서의 인기는 부분적으로 견고하고 내결함성이 있는 HDFS 때문입니다.

HBase는 데이터에 대한 임의의 실시간 읽기 및 쓰기 액세스와 함께 HDFS 파일 시스템 위에 구축된 확장 가능한 내결함성 분산 데이터베이스를 추가합니다. 데이터 처리 중.

이 시리즈의 2부에서는 Hadoop 에코시스템의 더 많은 구성요소를 다룰 것입니다.

피드백 탭을 사용하여 의견을 남기거나 질문하십시오.