복붙노트

[HADOOP] 지도는 하둡 프레임 워크에서 데이터 구조를 구현하는 프로그램을 감소

HADOOP

지도는 하둡 프레임 워크에서 데이터 구조를 구현하는 프로그램을 감소

이것은 하둡 내의 데이터 구조를 구현한다. 나는 프로그래밍을지도-감소하여 하둡에 색인을 구현하려는. 1 부 = 나는이 텍스트가 테이블에 인덱스 번호를 사용하여 각 단어 파일을 저장할. [완료 할 수] 제 2 부 = 지금은 [완료 할 수 없습니다이 새로 만든 테이블에 대한 해싱을 수행 할 나는 완료 할 수 있어요 첫번째 부분하지만 어려움에 직면하고있어 2 부분  내가 3 선을 포함하는 텍스트 파일이있는 경우 가정하자 :     너의 직업은 어떠니     어떻게 당신의 가족입니다     안녕 잘 지내

나는 색인을 사용하여이 텍스트 파일을 저장할. 나는 모든 단어의 인덱스 값을 반환 코드를 매핑-감소, 나는 인덱스 테이블에 저장할 수 있어요이 인덱스 값 (해시 테이블)    모든 단어의 인덱스 값을 포함 출력 : 방법 0, 방법 14 3이고 18 인 일 12 당신의 7,

이제 해시 테이블에 저장하는 해시 함수 (모듈 '%')를 모듈 (파일의 고유 요소의 수)와 모든 단어 (인덱스 값)에 대한 해싱 적용 단어의 모든 인덱스 값 4.를 가정 해 봅시다 해시 테이블에 저장하고 적용 . 같은 위치에 대한 충돌이 있으면 다음 위치로 이동하고 저장합니다.

  0%4=0(store 'how' at hash index 0)
  14%4=2(store 'how' at has index 2)
  18%4=2(store 'is' at hash index 3 because of collision) 
  7%4=3 (store 'your' at index 4 because of collision)

해결법

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

    1.당신은 해시 테이블 객체를 생성하고 키와 값을 넣을 수 있습니다.

    당신은 해시 테이블 객체를 생성하고 키와 값을 넣을 수 있습니다.

    Hashtable hashtable = new Hashtable(); 
    

    어떻게 키를 찾는 방법은? 과. 당신은 총 별개의 단어 개수와 단어의 색인이있다. 고유 워드 값 = 단어 어떤 키 인덱스 = % 없다

    해시 테이블에 레코드를 삽입하기 전에 체크 충돌이 발생 여부를 해당 키입니다. 어떻게 충돌이 발생 확인할 수 있습니까? ANS.

    boolean collision=hashtable.containsKey(key);  
    

    충돌이 true의 경우, 선형, 1 + 키 2 + 키를 확인 ... 그리고 당신이 충돌이 거짓 얻을 때, 선 아래 사용하여 해시 테이블에서 키와 값을 삽입합니다.

    hashtable.put(key,value);
    
  2. from https://stackoverflow.com/questions/29486393/map-reduce-program-to-implement-data-structure-in-hadoop-framework by cc-by-sa and MIT license