비디오: 하둡(HDFS) 의 파일 읽기, 쓰기 과정 쉽게 요약 2024
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은 고려해야 할 도구입니다.