1/*2 * Licensed to the Apache Software Foundation (ASF) under one3 * or more contributor license agreements. See the NOTICE file4 * distributed with this work for additional information5 * regarding copyright ownership. The ASF licenses this file6 * to you under the Apache License, Version 2.0 (the7 * "License"); you may not use this file except in compliance8 * with the License. You may obtain a copy of the License at9 *10 * http://www.apache.org/licenses/LICENSE-2.011 *12 * Unless required by applicable law or agreed to in writing, software13 * distributed under the License is distributed on an "AS IS" BASIS,14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15 * See the License for the specific language governing permissions and16 * limitations under the License.17 */18package org.apache.hadoop.chukwa.extraction.demux.processor;
192021import java.io.IOException;
22import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecord;
23import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecordKey;
24import org.apache.hadoop.mapred.OutputCollector;
25import org.apache.hadoop.mapred.Reporter;
2627publicclassChukwaOutputCollectorimplements28 OutputCollector<ChukwaRecordKey, ChukwaRecord> {
29private OutputCollector<ChukwaRecordKey, ChukwaRecord> outputCollector = null;
30private Reporter reporter = null;
31private String groupName = null;
3233publicChukwaOutputCollector(
34 String groupName,
35 OutputCollector<ChukwaRecordKey, ChukwaRecord> outputCollector,
36 Reporter reporter) {
37this.reporter = reporter;
38this.outputCollector = outputCollector;
39this.groupName = groupName;
40 }
4142 @Override
43publicvoid collect(ChukwaRecordKey key, ChukwaRecord value)
44throws IOException {
45this.outputCollector.collect(key, value);
46 reporter.incrCounter(groupName, "total records", 1);
47 reporter.incrCounter(groupName, key.getReduceType() + " records", 1);
48 }
4950 }