MAPREDUCE-2410. Add entry to streaming FAQ about how streaming reducers receive keys. Contributed by Harsh J Chouraria.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@1102184 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index c52c1bb..3c5b987 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -90,6 +90,9 @@
     MAPREDUCE-869. Documentation for config to set map/reduce task environment
     (Alejandro Abdelnur via todd)
 
+    MAPREDUCE-2410. Add entry to streaming FAQ about how streaming reducers
+    receive keys. (Harsh J Chouraria via todd)
+
   OPTIMIZATIONS
     
     MAPREDUCE-2026. Make JobTracker.getJobCounters() and
diff --git a/src/docs/src/documentation/content/xdocs/streaming.xml b/src/docs/src/documentation/content/xdocs/streaming.xml
index 4e6b042..2c20713 100644
--- a/src/docs/src/documentation/content/xdocs/streaming.xml
+++ b/src/docs/src/documentation/content/xdocs/streaming.xml
@@ -785,6 +785,15 @@
 </p>
 </section>
 
+<!-- QUESTION -->
+<section>
+<title>How does the use of streaming differ from the Java MapReduce API?</title>
+<p>
+    The Java MapReduce API provides a higher level API that lets the developer focus on writing map and reduce functions that act upon a pair of key and associated value(s). The Java API takes care of the iteration over the data source behind the scenes.
+    In streaming, the framework pours in the input data over the stdin to the mapper/reduce program, and thus these programs ought to be written from the reading (via stdin) iteration level. A practical consequence of this is that reducers for streaming need to be able to deal with different input keys.
+    Some alternative interfaces for particular programming languages can be found <a href="http://wiki.apache.org/hadoop/HadoopStreaming/AlternativeInterfaces">here</a>.
+</p>
+</section>
 
 <!-- QUESTION -->
 <section>