Hadoop 0.2:如何从TextOutputFormat读取输出?

Hadoop 0.2:如何从TextOutputFormat读取输出?,hadoop,mapreduce,Hadoop,Mapreduce,我的reducer类使用TextOutputFormat(作业给定的默认OutputFormat)生成输出。我喜欢在MapReduce作业完成后使用这些输出来聚合输出。除此之外,我喜欢用TextInputFormat写出聚合信息,这样这个过程的输出可以被MapReduce任务的下一次迭代使用。谁能给我举一个关于如何用文本格式写和读的例子吗?顺便说一下,我之所以使用TextFormat,而不是Sequence,是因为互操作性。任何软件都应该使用输出 暂时不要排除序列文件;它们使链接MapReduc

我的reducer类使用TextOutputFormat(作业给定的默认OutputFormat)生成输出。我喜欢在MapReduce作业完成后使用这些输出来聚合输出。除此之外,我喜欢用TextInputFormat写出聚合信息,这样这个过程的输出可以被MapReduce任务的下一次迭代使用。谁能给我举一个关于如何用文本格式写和读的例子吗?顺便说一下,我之所以使用TextFormat,而不是Sequence,是因为互操作性。任何软件都应该使用输出

暂时不要排除序列文件;它们使链接MapReduce作业变得快速而简单,如果您需要其他内容,您可以使用“hadoop fs-text filename”以文本格式输出它们

但是,回到您原来的问题:要使用TextInputFormat,请将其设置为作业中的输入格式,然后使用
TextInputFormat.setInputPath
指定应使用哪些文件作为输入。映射器的键应该是可长写的,值应该是文本

要使用TextOutputFormat作为输出,请将其设置为作业中的输出格式,然后使用
TextOutputFormat.setOutputPath
指定输出路径。您的还原程序(或映射程序,如果它是仅映射作业)需要使用
NullWritable
作为输出键的类型,以仅获取每行一个值的文本表示形式,否则每行都将是键的文本表示形式和由选项卡分隔的值(默认情况下,您可以通过设置来更改此设置)“
mapred.textoutputformat.separator
”到另一个分隔符)