1,关于示例代码运行时的命令。
% echo "Text" | hadoop StreamCompressor org.apache.hadoop.io.compress.GzipCodec \
| gunzip -
例如此命令,
% 啥也不带表,只是说后面是命令行命令。
| 代表管道,是指前一个子命令的结果直接传递给后一条子命令作为输入参数。
hadoop 这里的hadoop,是绝对命令 bin/hadoop,可以把$HADOOP_INSTALL/bin加到环境变量PATH中,从而直接使用此命令。
StreamCompressor 是指编译出的java类,是.class文件,需要连同包一起写上。
\ 此符号无实际意义,代表此命令太长了,需要换行写。
比如在我的环境中,需要将以上书上的原命令改写成:
echo "Text" | bin/hadoop mfl.hadoop.StreamCompressor org.apache.hadoop.io.compress.GzipCodec | gunzip -
才能运行成功。
运行目录为 /usr/local/hadoop。
并且已经把 mfl/hadoop/StreamCompressor.class 拷贝到了以上运行目录。
2,以上命令中的StreamCompressor代表hadoop大命令中的子命令,也即CLASS
在环境变量$HADOOP_CLASSPATH所代表的路径之下。
3,不要急着只是在事情本身上赶进度,有时候,在闲暇了,或者某个间歇时刻,好好的想想事情的运行原理
或者查找下资料看怎么样可以改进它也是非常非常重要的。很多时候可以大大加快进度,并且利于对事情
有一个全局的把握。