hadoop mapreduce核心功能描述
脚本的参数是任务的标准输出、标准错误、系统日志以及作业配置文件。在运行map/reduce失败的节点上运行调试命令是:?
$script $stdout $stderr $syslog $jobconf
Pipes 程序根据第五个参数获得c++程序名。 因此调试pipes程序的命令是
$script $stdout $stderr $syslog $jobconf $program
对于pipes,默认的脚本会用gdb处理core dump, 打印 stack trace并且给出正在运行线程的信息。
JobControl是一个工具,它封装了一组Map/Reduce作业以及他们之间的依赖关系。
Hadoop Map/Reduce框架为应用程序的写入文件操作提供压缩工具,这些工具可以为map输出的中间数据和作业最终输出数据(例如reduce的输出)提供支持。它还附带了一些?CompressionCodec的实现,比如实现了?zlib和lzo压缩算法。 Hadoop同样支持gzip文件格式。
考虑到性能问题(zlib)以及Java类库的缺失(lzo)等因素,Hadoop也为上述压缩解压算法提供本地库的实现。更多的细节请参考?这里。
应用程序可以通过?JobConf.setCompressMapOutput(boolean)api控制map输出的中间结果,并且可以通过?JobConf.setMapOutputCompressorClass(Class)api指定?CompressionCodec。
应用程序可以通过?FileOutputFormat.setCompressOutput(JobConf, boolean)?api控制输出是否需要压缩并且可以使用?FileOutputFormat.setOutputCompressorClass(JobConf, Class)api指定CompressionCodec。
如果作业输出要保存成?SequenceFileOutputFormat格式,需要使用?SequenceFileOutputFormat.setOutputCompressionType(JobConf, SequenceFile.CompressionType)api,来设定?SequenceFile.CompressionType(i.e.?RECORD?/?BLOCK?- 默认是RECORD)。
?