前言
Hadoop流提供了一个API,允许用户使用任何脚本语言编写Map函数或Reduce函数。
本文对此知识点进行介绍。
Hadoop流的工作原理
在以前的例子中,Map和Reduce工作都是由类来执行的,但在Hadoop流技术背景下,任何编制好的程序都能做这两个工作。
执行Map的应用程序会读取输入,并将其切分成行后作为程序的Stdin,进行处理后,将每行第一个tab符号前的内容作为key,之后的内容作为value。
如果没有tab符号,那么这一行的所有内容都会作为key,而value为空。
值得一提的是,可以使用一个可执行程序做Map,而使用一个Java类做Reduce,或者反过来。
Hadoop流命令格式
hadoop命令 + jar 流包 + -input 输入文件目录 + -output 输出文件目录 + -mapper map程序 + -reducer reduce程序
Hadoop 流命令选项
小结
对于惯用C++的人来说,这个功能挺给力的。