Streaming简介
Hadoop Streaming 是Hadoop提供的一个编程工具,Streamining框架允许任何可执行文件或者脚本文件作为Mapper和Reducer在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植。因此可以说对于hadoop的扩展性意义重大。
Streamining的原理:mapper和reducer会从标准输入中读取数据,一行一行处理后发送给标准输出,Streming 工具会创建MapReduce作业,发送给各个tasktracker,同时监控整个作业的执行过程。
如果一个文件(可执行文件或脚本)作为mapper,mapper初始化时,每一个mapper任务会把该文件作为一个单独进程启动,mapper任务运行时,它把输入切分成行并把每一行提供给可执行文件进程的标准输入,同时,mapper收集可执行文件进程标准输出的内容,并把收到的每一行内容转化成key/value对,作为mapper的输出,默认情况下,一行中第一个tab之前的部分作为key,之后的作为value。如果没有tab,整行作为key,value值为null。
具体参数调优可以参考 http://www.uml.org.cn/zjjs/201205303.asp
基本用法
HADOOPHOME/b