개인 재정 MapReduce를 빅 데이터 - 인형에 사용하는 방법

MapReduce를 빅 데이터 - 인형에 사용하는 방법

차례:

비디오: MongoDB 프로그래밍 12강 MapReduce 개념 살펴보기 | T아카데미 2024

비디오: MongoDB 프로그래밍 12강 MapReduce 개념 살펴보기 | T아카데미 2024
Anonim

큰 데이터를위한 맵 함수

map 함수는 여러 함수형 프로그래밍 언어의 한 부분이다. 지도는 데이터 요소 목록 처리의 핵심 기술로 다시 활력을 불어 넣었습니다.

함수형 언어의 연산자는 데이터 구조를 수정하지 않습니다. 새로운 데이터 구조를 출력으로 만듭니다. 원본 데이터 자체도 수정되지 않았습니다. 따라서 소중한 저장된 데이터를 손상시키지 않으므로지도 기능을 사용할 수 있습니다. 함수 프로그래밍에 대한 또 다른 이점은 데이터의 이동 또는 흐름을 명시 적으로 관리 할 필요가 없다는 것이다. 이것은 프로그래머가 명시 적으로 데이터 출력과 배치를 관리하는 것을 막는다. 마지막으로 데이터 조작 순서는 규정되어 있지 않습니다.

mylist = (가장 최근 총선에 참여한 모든 카운티) >지도 함수

를 사용하여 howManyPeople 함수를 만듭니다.

50,000 명이 넘는 카운티를 선택합니다:

map howManyPeople (mylist) = [howManyPeople "county 1"; howManyPeople "county 2"; howManyPeople "county 3"; howManyPeople "county 4"; …] 인구가 50,000보다 큰 모든 카운티의 새로운 산출 목록을 생성하십시오. -

(아니요, 카운티 1, 예 2, 아니요, 카운티 3, 예 4,?, 카운티 nnn)

함수는 원래 목록을 변경하지 않고 실행됩니다. 또한 출력 목록의 각 요소가 입력 목록의 해당 요소에 매핑되고 예 또는 아니오가 첨부 된 것을 볼 수 있습니다. 카운티가 50, 000 명이 넘는 사람들의 요구 사항을 충족 시키면지도 기능이이를 확인합니다. 그렇지 않은 경우, 아니오가 표시됩니다.

큰 데이터에 대해 reduce 함수 추가

map 함수와 마찬가지로

reduce

는 수년 동안 함수형 프로그래밍 언어의 기능이었습니다. reduce 함수는 맵 함수의 출력을 취하고 프로그래머가 원하는 어떤 식 으로든 목록을 "축소"합니다.

reduce 함수가 요구하는 첫 번째 단계는 초기 값을 유지하는 누적 기 , 라고하는 값에 값을 배치하는 것입니다. 누적기에 시작 값을 저장 한 후 reduce 함수는 목록의 각 요소를 처리하고 목록에서 필요한 작업을 수행합니다.

목록의 끝에서 reduce 함수는 출력 목록에서 수행하려는 조작에 따라 값을 리턴합니다. 대다수의 표결이 민주당 후보를위한 카운티를 식별해야한다고 가정합니다. howManyPeople 맵 기능은 입력 목록의 각 요소를 검토하여 50,000 명 (예) 이상인 카운티와 50,000 명 미만인 카운티 (아니)가있는 카운티의 출력 목록을 작성했음을 기억하십시오.

howManyPeople 맵 함수를 호출하면 다음 출력 목록이 남습니다.

(아니오, 카운티 1, 예, 카운티 2, 아니요, 카운티 3, 예, 카운티 4;, county nnn)

이것은 이제 reduce 함수의 입력 값입니다.

countylist = (아니오, 카운티 1, 예 2, 아니요, 카운티 3, 예 4,?, 카운티 nnn) reduce isDemocrat (countylist)

reduce 함수 프로세스 명부의 각 성분은 대다수가 민주당을 투표 한 50,000 이상 인구를 가진 모든 군의 명부를 돌려 보낸다.

큰 데이터 맵 배치 및 축소

때로는 출력 목록을 만드는 것만으로도 충분합니다. 마찬가지로 목록의 각 요소에 대해 작업을 수행하는 것만으로도 충분합니다. 대부분의 경우, 많은 양의 입력 데이터를 살펴보고 데이터에서 특정 요소를 선택한 다음 관련 데이터 조각에서 가치있는 것을 계산하려고합니다.

새로운 가정과 새로운 데이터를 사용하여 다른 방식으로 사용할 수 있도록 입력 목록을 변경하고 싶지는 않습니다.

소프트웨어 개발자는 알고리즘을 기반으로 응용 프로그램을 설계합니다.

알고리즘

은 전체 목표에 대한 서비스에서 발생해야하는 일련의 단계에 불과합니다. 다음과 같이 보일 수 있습니다.

많은 수 또는 데이터 또는 레코드로 시작하십시오. 데이터를 반복합니다. map 함수를 사용하여 관심있는 것을 추출하고 출력 목록을 만듭니다.

  1. 추가 처리를 위해 최적화되도록 출력 목록을 구성합니다.

  2. reduce 함수를 사용하여 결과 집합을 계산합니다.

  3. 최종 산출물을 산출합니다.

  4. 프로그래머는이 접근 방식을 사용하여 모든 종류의 응용 프로그램을 구현할 수 있지만이 예제는 매우 간단하므로 MapReduce의 진정한 가치는 분명하지 않을 수 있습니다. 매우 큰 입력 데이터가있을 때 어떻게됩니까? 수 테라 바이트의 데이터에서 동일한 알고리즘을 사용할 수 있습니까? 좋은 소식은 '예'입니다.

  5. 모든 작업은 독립적으로 보입니다. 그것은 그들이 있기 때문입니다. MapReduce의 진정한 힘은 분열하고 정복 할 수있는 능력입니다. 매우 큰 문제를 해결하고 더 작고 관리하기 쉬운 덩어리로 나누고 각 덩어리를 독립적으로 조작 한 다음 끝까지 모두 잡아 당깁니다. 또한 맵 함수는 교환 가능합니다. 즉, 함수가 실행되는 순서는 중요하지 않습니다.

  6. MapReduce는 네트워크의 여러 시스템에서 작업을 수행 할 수 있습니다. 또한 내부 또는 외부의 여러 데이터 소스에서 가져올 수 있습니다. MapReduce는 모든 처리가 동일한 문제를 해결하는 것과 관련된 고유 한 키를 생성하여 작업을 추적합니다.이 키는 모든 분산 작업의 끝에서 모든 출력을 함께 가져 오는데도 사용됩니다.

MapReduce를 빅 데이터 - 인형에 사용하는 방법

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...