을 분할 "하둡 - 확실한 가이드", 그것은 말한다 ->이위치가 입력 계산되는 방법에
작업을 실행하는 클라이언트가 getSplits을 (호출하여 작업의 분할을 계산), 다음은 JobTracker로 전송 이 회사는 스토리지 위치를 사용하여 맵 작업을 예약하여 작업 추적자에서 처리합니다.
public abstract class InputSplit {
public abstract long getLength() throws IOException, InterruptedException;
public abstract String[] getLocations() throws IOException,
}
getLocations()는 호스트 이름의 배열을 반환합니다.
질문 1 : 클라이언트는 반환 할 호스트 이름을 어떻게 알 수 있습니까? 구직자의 직업이 아닌가?
질문 2 : 2 개의 다른 InputSplit 개체가 동일한 호스트 이름을 반환 할 수 있습니까? 호스트 이름은 어떻게 결정됩니까? 누구 시죠?
클라이언트가 namenode에 접속하여 파일의 모든 호스트 이름 (복제본 포함)을 가져오고 일부 입력란이 각 inputsplit에 설정된 위치에 도착하는지 확인합니다. 사실입니까?
당신은 말합니다 : "이름 노드가 스플릿을 구성하는 블록의 위치를 묻습니다." 나의 이해 : 클라이언트는 먼저 namenode와 접촉 한 다음 구직자에게 연락한다. 옳은? 그러나 namenode가 분할 집합을 반환한다는 것에 동의하지 않습니다. 나는 블록의 위치를 리턴한다고 생각하고, 클라이언트는이 블록들을 사용하여 분할을 형성한다. 너 뭐라구? –