[HADOOP] Hadoop 작업의 CPU 시간은 무엇을 의미합니까?
HADOOPHadoop 작업의 CPU 시간은 무엇을 의미합니까?
Map-Reduce 작업의 타이밍 결과를 이해하지 못하는 것 같습니다. 예를 들어, 내가 일하고있는 직업은 직업 추적자로부터 다음과 같은 결과를 얻습니다.
완료 시간 : 1 분, 39 초
CPU 사용 시간 (밀리 초) 150,460 152,030 302,490
소요 된 CPU 시간 (ms)의 항목은 각각 Map, Reduce 및 Total입니다. 그렇다면 "CPU 사용 시간"은 어떻게 측정되며, 그 의미는 무엇입니까? 작업에 할당 된 각 매퍼와 축소기에 소요 된 총 누적 시간입니까? 셔플, 정렬, 파티션 등의 시간과 같은 프레임 워크에서 다른 시간을 측정 할 수 있습니까? 그렇다면 어떻게?
나를 괴롭히는 두 번째 질문. 드라이버 클래스에서 getTime ()을 사용하여 제안하는 몇 가지 게시물 (Link1, Link2)을 보았습니다.
long start = new Date().getTime();
boolean status = job.waitForCompletion(true);
long end = new Date().getTime();
System.out.println("Job took "+(end-start) + "milliseconds");
Job Tracker 출력의 첫 번째 항목이 제공하는 것을 수행하지 않습니까? 필요한가? I / O 시간, 노드 당 / 스테이지 당 시간을 계산하고자 할 때, 특히 hadoop 작업의 시간을 정하는 가장 좋은 방법은 무엇입니까?
해결법
-
==============================
1.지도 단계는 레코드 판독기,지도, 결합기 및 분할기로 구성됩니다.
지도 단계는 레코드 판독기,지도, 결합기 및 분할기로 구성됩니다.
축소 단계는 셔플, 정렬, 축소, 출력으로 구성됩니다.
보고있는 CPU 시간은 전체 맵 단계와 전체 축소 단계입니다. 함수 자체가 아닙니다. 이는지도 기능과 축소 기능이 있기 때문에 혼란스러운 용어입니다. 이는지도 단계의 일부일 뿐이고 위상을 줄입니다. 이는 클러스터의 모든 노드에 걸친 총 CPU 시간입니다.
CPU 시간은 실시간으로 크게 다릅니다. CPU 시간은 CPU에 소비 된 시간이며 실제 시간은 사용자와 내가 인간으로서 경험하는 시간입니다. 생각해보십시오. 동일한 데이터가 하나의 20 노드 클러스터에서 실행되고 동일한 노드에서 200 노드 클러스터로 실행되는 것으로 가정하십시오. 전체적으로 동일한 양의 CPU 시간이 두 클러스터에서 사용되지만 200 노드 클러스터는 실시간으로 10 배 더 빠르게 실행됩니다. CPU 시간은 동시에 많은 작업이 실행되는 공유 시스템을 사용할 때 유용한 측정 항목입니다.
각 단계에서 CPU 시간을 확보하는 방법에 대해 자세히 알고 싶습니다. 날짜 타이머를 사용하는 것은 아마도 당신이 찾고있는 것이 아닙니다.
from https://stackoverflow.com/questions/11726388/what-does-cpu-time-for-a-hadoop-job-signify by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Mapper 및 Reducer 클래스를 정적으로 선언하는 이유는 무엇입니까? (0) | 2019.06.07 |
---|---|
[HADOOP] 경로 : \ tmp의 사용 권한을 설정하지 못했습니다. (0) | 2019.06.07 |
[HADOOP] Hadoop .20 데이터 노드의 'GC 오버 헤드 한도 초과' (0) | 2019.06.07 |
[HADOOP] hdfs는 저장할 데이터 노드를 어떻게 선택합니까? (0) | 2019.06.07 |
[HADOOP] Hadoop HDFS - 마스터의 포트에 연결할 수 없음 (0) | 2019.06.07 |