복붙노트

[HADOOP] 30 개의 가장 빈번한 단어에서 내림차순으로 정렬하는 방법은 무엇입니까?

HADOOP

30 개의 가장 빈번한 단어에서 내림차순으로 정렬하는 방법은 무엇입니까?

내 매퍼 (Hadoop 1.2.1)는 간단한 텍스트 파일에서 읽는 키-값 쌍의 토큰을 만듭니다. 로켓 과학이 없습니다. 리듀서는 마지막으로 "번들"(하둡에서 SQL과 같은 그룹핑이라고 부릅니까?)과 같은 키를 1의 값으로 합칩니다. 이것은 기본 하둡 튜토리얼입니다.

그러나이 값을 감속기에 사용할 수 있으면 모든 값을 내림차순으로 정렬하려고합니다. 상위 30 개의 토큰 (문자열, 단어) 만 표시합니다.

일부 개념이 명확하지 않은 것 같습니다.

해결법

  1. ==============================

    1.약간의 뉘앙스 : reduce 메서드는 키 값 쌍이 아닌 키 당 한 번 실행됩니다. 해당 키가있는 각 값은 반복자에 표시됩니다. HashMap을 저장하려면 설정 기능에서 설정하거나 (또는 ​​개인 객체로 설정) 축소 기능에서 상호 작용 한 다음 정리 기능에서 무엇이든 수행 할 수 있습니다. 따라서 통화를 줄이면서 상태를 유지하는 것이 가능합니다.

    약간의 뉘앙스 : reduce 메서드는 키 값 쌍이 아닌 키 당 한 번 실행됩니다. 해당 키가있는 각 값은 반복자에 표시됩니다. HashMap을 저장하려면 설정 기능에서 설정하거나 (또는 ​​개인 객체로 설정) 축소 기능에서 상호 작용 한 다음 정리 기능에서 무엇이든 수행 할 수 있습니다. 따라서 통화를 줄이면서 상태를 유지하는 것이 가능합니다.

    그러나 당신이 조금 더 영리한 방법으로 문제를 해결할 수 있다고 생각합니다. 나는 톱 10 목록에 대해 여러 번 썼다. 단지 흥미롭고 매우 유용한 도구이기 때문이다. 상위 30이 상위 10과 어떤 관련이 있는지 분명히 바랍니다.

  2. from https://stackoverflow.com/questions/20225091/how-to-sort-descending-from-the-30-most-frequent-words by cc-by-sa and MIT license