Map/Reduce streaming
In general, streaming allows you to run programs written in languages other than Java as map/reduce jobs. Such a program reads data from standard input and then outputs results to standard output. Each line of input consists of a key and a value, separated by a tabulator. The program processes data line-by-line and outputs tab-separated key-value pairs. Streaming is suitable only for processing text data.