blob: 32eb4984935540a94a459cb652d8a96694a4e490 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_462) on Tue Oct 14 16:34:59 UTC 2025 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FieldSelectionMapReduce (Apache Hadoop Main 3.5.0-SNAPSHOT API)</title>
<meta name="date" content="2025-10-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FieldSelectionMapReduce (Apache Hadoop Main 3.5.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FieldSelectionMapReduce.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/mapred/lib/CombineTextInputFormat.html" title="class in org.apache.hadoop.mapred.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/mapred/lib/FilterOutputFormat.html" title="class in org.apache.hadoop.mapred.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" target="_top">Frames</a></li>
<li><a href="FieldSelectionMapReduce.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.mapred.lib</div>
<h2 title="Class FieldSelectionMapReduce" class="title">Class FieldSelectionMapReduce&lt;K,V&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.mapred.lib.FieldSelectionMapReduce&lt;K,V&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/hadoop/mapred/JobConfigurable.html" title="interface in org.apache.hadoop.mapred">JobConfigurable</a>, <a href="../../../../../org/apache/hadoop/mapred/Mapper.html" title="interface in org.apache.hadoop.mapred">Mapper</a>&lt;K,V,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;, <a href="../../../../../org/apache/hadoop/mapred/Reducer.html" title="interface in org.apache.hadoop.mapred">Reducer</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Stable
public class <span class="typeNameLabel">FieldSelectionMapReduce&lt;K,V&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/mapred/Mapper.html" title="interface in org.apache.hadoop.mapred">Mapper</a>&lt;K,V,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;, <a href="../../../../../org/apache/hadoop/mapred/Reducer.html" title="interface in org.apache.hadoop.mapred">Reducer</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;</pre>
<div class="block">This class implements a mapper/reducer class that can be used to perform
field selections in a manner similar to unix cut. The input data is treated
as fields separated by a user specified separator (the default value is
"\t"). The user can specify a list of fields that form the map output keys,
and a list of fields that form the map output values. If the inputformat is
TextInputFormat, the mapper will ignore the key to the map function. and the
fields are from the value only. Otherwise, the fields are the union of those
from the key and those from the value.
The field separator is under attribute "mapreduce.fieldsel.data.field.separator"
The map output field list spec is under attribute
"mapreduce.fieldsel.map.output.key.value.fields.spec".
The value is expected to be like "keyFieldsSpec:valueFieldsSpec"
key/valueFieldsSpec are comma (,) separated field spec: fieldSpec,fieldSpec,fieldSpec ...
Each field spec can be a simple number (e.g. 5) specifying a specific field, or a range
(like 2-5) to specify a range of fields, or an open range (like 3-) specifying all
the fields starting from field 3. The open range field spec applies value fields only.
They have no effect on the key fields.
Here is an example: "4,3,0,1:6,5,1-3,7-". It specifies to use fields 4,3,0 and 1 for keys,
and use fields 6,5,1,2,3,7 and above for values.
The reduce output field list spec is under attribute
"mapreduce.fieldsel.reduce.output.key.value.fields.spec".
The reducer extracts output key/value pairs in a similar manner, except that
the key is never ignored.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#FieldSelectionMapReduce--">FieldSelectionMapReduce</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#configure-org.apache.hadoop.mapred.JobConf-">configure</a></span>(<a href="../../../../../org/apache/hadoop/mapred/JobConf.html" title="class in org.apache.hadoop.mapred">JobConf</a>&nbsp;job)</code>
<div class="block">Initializes a new instance from a <a href="../../../../../org/apache/hadoop/mapred/JobConf.html" title="class in org.apache.hadoop.mapred"><code>JobConf</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#map-K-V-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">K</a>&nbsp;key,
<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">V</a>&nbsp;val,
<a href="../../../../../org/apache/hadoop/mapred/OutputCollector.html" title="interface in org.apache.hadoop.mapred">OutputCollector</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;output,
<a href="../../../../../org/apache/hadoop/mapred/Reporter.html" title="interface in org.apache.hadoop.mapred">Reporter</a>&nbsp;reporter)</code>
<div class="block">The identify function.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html#reduce-org.apache.hadoop.io.Text-java.util.Iterator-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">reduce</a></span>(<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;values,
<a href="../../../../../org/apache/hadoop/mapred/OutputCollector.html" title="interface in org.apache.hadoop.mapred">OutputCollector</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;output,
<a href="../../../../../org/apache/hadoop/mapred/Reporter.html" title="interface in org.apache.hadoop.mapred">Reporter</a>&nbsp;reporter)</code>
<div class="block"><i>Reduces</i> values for a given key.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOG</h4>
<pre>public static final&nbsp;org.slf4j.Logger LOG</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="FieldSelectionMapReduce--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FieldSelectionMapReduce</h4>
<pre>public&nbsp;FieldSelectionMapReduce()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="map-java.lang.Object-java.lang.Object-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">
<!-- -->
</a><a name="map-K-V-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>map</h4>
<pre>public&nbsp;void&nbsp;map(<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">K</a>&nbsp;key,
<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">V</a>&nbsp;val,
<a href="../../../../../org/apache/hadoop/mapred/OutputCollector.html" title="interface in org.apache.hadoop.mapred">OutputCollector</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;output,
<a href="../../../../../org/apache/hadoop/mapred/Reporter.html" title="interface in org.apache.hadoop.mapred">Reporter</a>&nbsp;reporter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">The identify function. Input key/value pair is written directly to output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/mapred/Mapper.html#map-K1-V1-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/mapred/Mapper.html" title="interface in org.apache.hadoop.mapred">Mapper</a>&lt;<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">K</a>,<a href="../../../../../org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" title="type parameter in FieldSelectionMapReduce">V</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the input key.</dd>
<dd><code>val</code> - the input value.</dd>
<dd><code>output</code> - collects mapped keys and values.</dd>
<dd><code>reporter</code> - facility to report progress.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="configure-org.apache.hadoop.mapred.JobConf-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre>public&nbsp;void&nbsp;configure(<a href="../../../../../org/apache/hadoop/mapred/JobConf.html" title="class in org.apache.hadoop.mapred">JobConf</a>&nbsp;job)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/mapred/JobConfigurable.html#configure-org.apache.hadoop.mapred.JobConf-">JobConfigurable</a></code></span></div>
<div class="block">Initializes a new instance from a <a href="../../../../../org/apache/hadoop/mapred/JobConf.html" title="class in org.apache.hadoop.mapred"><code>JobConf</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/mapred/JobConfigurable.html#configure-org.apache.hadoop.mapred.JobConf-">configure</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/mapred/JobConfigurable.html" title="interface in org.apache.hadoop.mapred">JobConfigurable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>job</code> - the configuration</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="reduce-org.apache.hadoop.io.Text-java.util.Iterator-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>reduce</h4>
<pre>public&nbsp;void&nbsp;reduce(<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;values,
<a href="../../../../../org/apache/hadoop/mapred/OutputCollector.html" title="interface in org.apache.hadoop.mapred">OutputCollector</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;&nbsp;output,
<a href="../../../../../org/apache/hadoop/mapred/Reporter.html" title="interface in org.apache.hadoop.mapred">Reporter</a>&nbsp;reporter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/mapred/Reducer.html#reduce-K2-java.util.Iterator-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">Reducer</a></code></span></div>
<div class="block"><i>Reduces</i> values for a given key.
<p>The framework calls this method for each
<code>&lt;key, (list of values)&gt;</code> pair in the grouped inputs.
Output values must be of the same type as input values. Input keys must
not be altered. The framework will <b>reuse</b> the key and value objects
that are passed into the reduce, therefore the application should clone
the objects they want to keep a copy of. In many cases, all values are
combined into zero or one value.
</p>
<p>Output pairs are collected with calls to
<a href="../../../../../org/apache/hadoop/mapred/OutputCollector.html#collect-K-V-"><code>OutputCollector.collect(Object,Object)</code></a>.</p>
<p>Applications can use the <a href="../../../../../org/apache/hadoop/mapred/Reporter.html" title="interface in org.apache.hadoop.mapred"><code>Reporter</code></a> provided to report progress
or just indicate that they are alive. In scenarios where the application
takes a significant amount of time to process individual key/value
pairs, this is crucial since the framework might assume that the task has
timed-out and kill that task. The other way of avoiding this is to set
<a href="../../../../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml#mapreduce.task.timeout">
mapreduce.task.timeout</a> to a high-enough value (or even zero for no
time-outs).</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/mapred/Reducer.html#reduce-K2-java.util.Iterator-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">reduce</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/mapred/Reducer.html" title="interface in org.apache.hadoop.mapred">Reducer</a>&lt;<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>,<a href="../../../../../org/apache/hadoop/io/Text.html" title="class in org.apache.hadoop.io">Text</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key.</dd>
<dd><code>values</code> - the list of values to reduce.</dd>
<dd><code>output</code> - to collect keys and combined values.</dd>
<dd><code>reporter</code> - facility to report progress.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FieldSelectionMapReduce.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/mapred/lib/CombineTextInputFormat.html" title="class in org.apache.hadoop.mapred.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/mapred/lib/FilterOutputFormat.html" title="class in org.apache.hadoop.mapred.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/mapred/lib/FieldSelectionMapReduce.html" target="_top">Frames</a></li>
<li><a href="FieldSelectionMapReduce.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2025 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>