빅데이터공부하기 49번째 글입니다. 이번글은 카운터에 대해서 알아보도록하겠습니다.

 

 

카운터

- Mapper나 reducer에서 특정 이벤트의 발생회수를 쉽게 카운트해 줄 수 있도록 해주는 메커니즘

 

- 카운터를 만드는 예

* context.getCounter("Stats", "1 character word").increment(1);

- context는 map이나 reduce의 세번째 인자

- "Stats" : 카운터 그룹의 이름

- "1 character word" : 카운터의 실제 이름

 

카운터의 최종값을 보려면

* 잡 실행시 터미널 화면이나 JobTracker의 웹인터페이스에서 확인가능

 

 

카운터 터미널 출력 예

 

 

카운터의 수

 

- 이런 카운팅은 mmapper나 reducer 각각에서 개별 발생

- TaskTracker는 주기적으로 JobTracker에게 hearbeat 메세지를 전송하는데 이때 각 태스크별로 발생한 카운터 정보를 같이 전송

- 너무 많은 카운터는 퍼포먼스에 영향을 줌

* 기본 최대값은 120이며 이를 넘어갈 경우 CountersExceededExceptions이 발생.

* 이를 증가시키려면 mapreduce.job.counters.limit 피라미터의 값을 증가

 

 

+ Recent posts