예측 분석을 위해 Apache Hadoop을 사용하는 방법

예측 분석을 위해 Apache Hadoop을 사용하는 방법 - 인형

Apache Hadoop은 예측 분석을 위해 많은 양의 데이터를 처리하는 응용 프로그램을 작성하고 실행하는 무료 오픈 소스 소프트웨어 플랫폼입니다. 다른 소스에서 생성 된 대형 데이터 세트를 분산 병렬 처리 할 수 ​​있습니다. 본질적으로 큰 데이터를 저장하고 처리하는 강력한 도구입니다.

Hadoop은 구조화되었거나 구조화되지 않은 모든 유형의 데이터를 서로 다른 소스에서 저장 한 다음 원하는 방식으로 데이터를 집계합니다. Hadoop은 분산 병렬 처리를 사용하여 이기종 데이터를 처리하므로 대용량 데이터를 처리하는 분석 소프트웨어에서 사용하기에 매우 효율적인 프레임 워크입니다. 어떤 대기업들이 Hadoop을 채택하고있는 것은 당연합니다. Facebook, Yahoo! , 구글, IBM, 트위터, 그리고 링크드 인.

Hadoop 이전에는 회사에서 큰 데이터를 활용할 수 없었습니다. 분석되지 않고 거의 사용할 수 없었습니다. 독점 관계형 데이터베이스에 해당 데이터를 저장하고 그 주위에 구조화 된 형식을 작성하는 데 드는 비용은 해당 데이터를 분석하고이를 사용하는 이점을 정당화하지 못했습니다.

하둡 (Hadoop)은 다른 한편으로는 비용을 들이지 않고도 원활하게 업무를 처리함으로써 기업이 축적하고 축적해온 풍부한 데이터에서 가치있는 통찰력을 찾을 수 있도록합니다.

데이터를 이해하기 전에 스키마를 작성할 필요는 없습니다. Hadoop을 사용하면 데이터를 원래 형식으로 쿼리 할 수 ​​있습니다.

Hadoop은 MapReduce 및 Hadoop 분산 파일 시스템이라는 두 가지 주요 구성 요소 (하위 프로젝트)를 사용하여 작업을 수행합니다. 두 구성 요소는 협력 적으로 작동합니다.

MapReduce

: MapReduce의 Hadoop 구현은 대규모 데이터 집합을 작은 작업 블록으로 나누어 처리하는 프로그래밍 모델 연구를 기반으로합니다. MapReduce는 클러스터의 컴퓨터 그룹에서 분산 알고리즘을 사용하여 대용량 데이터 집합을 처리합니다.이것은

  • 마스터 ( 노드

    • (네트워크 컴퓨터))에있는 Map () 함수 의 두 가지 기능으로 구성됩니다. 입력 쿼리 나 작업을 더 작은 하위 작업으로 나눈 다음 더 작은 작업을 처리하는 작업자 노드 에 배포하고 답변을 다시 마스터 노드에 전달합니다. 하위 작업은 여러 컴퓨터에서 동시에 실행됩니다. Reduce () 함수

    • 는 모든 하위 작업의 결과를 수집하고 결합하여 집계 된 최종 결과를 생성합니다. 원래의 큰 쿼리에 대한 응답으로 반환됩니다. HDFS (Hadoop Distributed File System) : HDFS는 데이터 센터의 다른 컴퓨터에있는 데이터 블록을 복제하여 신뢰성을 보장하고 분산 시스템의 다양한 부분으로 데이터를 전송합니다. 20 억 명의 데이터베이스를 고려해보고 X 씨의 소셜 친구 수를 계산하고 지리적 위치에 따라 정렬하려고한다고 가정합니다. 그건 어려운 명령입니다.

  • 20 억 인구 데이터는 소셜 네트워크, 전자 메일 연락처 주소록, 게시물, 트윗, 인터넷 사용 기록 등 다양한 소스에서 유래 할 수 있습니다. 이는 오프너를위한 것입니다. Hadoop은 이처럼 방대한 양의 데이터를 집계하여 간단한 쿼리로 조사 할 수 있습니다. MapReduce 프로그래밍 기능을 사용하여이 쿼리를 해결할 수 있습니다. Map을 정의하고 절차를 줄이면이 ​​큰 데이터 세트조차도 관리 할 수 ​​있습니다. Hadoop 프레임 워크가 제공하는 도구를 사용하여 두 가지 하위 작업으로 계산을 수행하는 MapReduce 구현을 만들 수 있습니다.

X 씨의 소셜 친구의 평균 수를 계산합니다.

지리적 위치에 따라 X 씨의 친구를 정렬합니다. .

MapReduce 구현 프로그램은 이러한 하위 작업을 병렬로 실행하고 하위 작업 간의 통신을 관리하며 결과를 조합합니다. 20 억 명의 사람들 중에서 X 씨의 온라인 친구가 누구인지 알 것입니다.

  • Hadoop은 다양한지도 프로세서를 제공합니다. 선택한 인프라는 인프라에 따라 다릅니다.

  • 각 프로세서는 일정 수의 레코드를 처리합니다. 각 프로세서가 1 백만 개의 데이터 레코드를 처리한다고 가정합니다. 각 프로세서는 키 - 값 쌍의 여러 레코드를 생성하는 Map 프로 시저를 실행합니다. 여기서

G

(키)는 사람 (국가)의 지리적 위치이고

N (값)은 그 사람과 접촉했다. 프로세서 맵 # 1 : 프로세서 맵 # 2 : 프로세서 맵 # 3 :

프로세서 맵 # 4 :

프로세서 맵 # 5 :

프로세서 맵 # 6 :

Reduce 단계에서 Hadoop은 특정 수의 프로세서에 작업을 할당합니다. 동일한 키의 값을 집계하여 Reduce 프로 시저를 실행하여 최종 결과. 이 예에서 Reduce 구현은 각 키 - 지리적 위치에 대한 값의 수를 요약합니다. 따라서지도 단계가 끝나면 Reduce 단계에서 다음과 같이 표시됩니다.

------ ----

분명히 Mr.X는 인기있는 사람이지만 MapReduce를 사용하는 방법에 대한 아주 간단한 예였습니다. 한 대의 컴퓨터가 처리하기에 너무 큰 작업 및 데이터가있는 수십억 개의 문서를 클러스터링하는 등 복잡한 작업을 수행하려는 대규모 데이터 세트를 처리하고 있다고 가정 해보십시오. Hadoop은 고려해야 할 도구입니다.