我正在尝试运行 bin / hadoop jar hadoop-examples-1.0.4.jar排序输入输出
但是得到一个错误“java.io.IOException:hdfs:// master:9000 / usr / ubuntu / input / file1而不是SequenceFile”
如果我运行 bin / hadoop jar hadoop-examples-1.0.4.jar wordcount输入输出这是可行的。
所以我无法弄清楚如何处理它
答案 0 :(得分:1)
这里的错误信息完全正确; sort
示例期待sequence file - 二进制密钥和值的平面文件作为输入,这种类型通常作为MapReduce作业的输出生成。
然而,wordcount
示例并不期望特定的序列文件作为输入,只是一个文本文件,其中键是作为文件的偏移量(行号),值为行内容。
看作输入文件本身不是序列文件,sort
无法使用它们运行。
答案 1 :(得分:0)
@Jork,如果您观察hadoop-examples-1.0.4.jar中给出的示例,您可以通过命令行参数更改输入和输出格式,或者您可以在程序中将SequenceFileInputFormat更改为Text类型。 hadoop
答案 2 :(得分:0)
我有同样的问题。在这里,https://wiki.apache.org/hadoop/Sort,它说"输入和输出必须是序列文件。" 您应该将输入文件转换为hadoop序列文件,我希望有一种更简单的方法。我觉得这个教程很有帮助,祝你好运! https://examples.javacodegeeks.com/enterprise-java/apache-hadoop/hadoop-sequence-file-example/