0

我正在尝试运行bin/hadoop jar hadoop-examples-1.0.4.jar sort input output

但收到错误“java.io.IOException: hdfs://master:9000/usr/ubuntu/input/file1 not a SequenceFile”

如果我运行bin/hadoop jar hadoop-examples-1.0.4.jar wordcount input output 就可以了。

所以我不知道如何处理它

4

3 回答 3

1

这里的错误信息是完全正确的;该sort示例需要一个序列文件- 二进制键和值作为输入的平面文件,这种文件通常作为 MapReduce 作业的输出生成。

但是,该wordcount示例并不期望特别是序列文件作为输入,而只是一个文本文件,其键是文件中的偏移量(行号),值是行内容。

看到您拥有的输入文件本身不是序列文件,sort因此无法使用它们运行。

于 2013-04-19T08:44:57.720 回答
0

@Jork,如果您对 hadoop-examples-1.0.4.jar 中给出的示例进行排序,您可以通过命令行参数更改输入和输出格式,或者您可以在程序中从 SequenceFileInputFormat 更改为 Text 类型。

于 2014-11-04T07:27:45.447 回答
0

我遇到过同样的问题。在这里,https://wiki.apache.org/hadoop/Sort,它说“输入和输出必须是序列文件。” 您应该将输入文件转换为 hadoop 序列文件,我希望有更简单的方法。我发现这个教程很有帮助,祝你好运!https://examples.javacodegeeks.com/enterprise-java/apache-hadoop/hadoop-sequence-file-example/

于 2016-11-17T18:01:54.703 回答