2012-06-22 50 views
0

我有一个很大的.txt文件的记录,我需要转换为(hadoop)序列格式的效率。我在网上找到了一些答案(例如How to convert .txt file to Hadoop's sequence file format),但我是hadoop的新手,并不了解他们。如果你能解释一些,或者如果你有另一种解决方案,那会很棒。如果有帮助,记录按行分开。如何从文本文件转换为序列文件?

在此先感谢。

+0

你如何将这条线标记为一个键和值? (通常键是行号,值是行文字) –

+0

就像你说的。键:行号,值:行文本。 – Jonathan

+0

在你已经链接到的答案中,你不明白哪一个特定部分或想要进一步澄清? –

回答

1

既然你说你是hadoop的新手,你知道MapperReducer的基本想法吗?他们都有KEY_IN_CLASS,VALUE_IN_CLASS,KEY_OUT_CLASS,VALUE_OUT_CLASS,所以你的情况,你可以简单的使用映射器做转换,

为KEY_IN_CLASS,你可以使用默认LongWritable

VALUE_IN_CLASS你需要使用Text,因为Text类处理文本输入。

对于KEY_OUT_CLASS,您可以使用NullWritable,如果您没有特定的密钥,则它是空键。

对于VALUE_OUT_CLASS,请使用SequenceFileOutputFormat

我相信要使用SequenceFileOutputFormat,您需要告诉SequenceFileOutputFormat您使用的关键类和值类。

相关问题