如何使用`org.apache.hadoop.io.Text`创建SequenceFiles?

时间:2016-01-06 15:41:21

标签: java apache hadoop mapreduce

这是Hadop MapReduce V1中提供的Gridmix代码片段,但我有以下问题。

他们分别将org.apache.hadoop.mapred.SequenceFileInputFormatorg.apache.hadoop.mapred.SequenceFileOutputFormat设为inFormatoutFormat,并将org.apache.hadoop.io.Text设为outKey和{{1} }}。对我来说,这个例子似乎接受Text文件作为序列文件。如何使用outValue创建SequenceFiles?

org.apache.hadoop.io.Text

1 个答案:

答案 0 :(得分:1)

您正在混合文件格式和键值类型。要读取纯文本数据,我们有TextFileInputFormat。键值类型在个人记录级别。序列输出文件格式采用文本格式的键和值,并在存储到HDFS之前在内部将数据序列化为二进制格式。在内部,它维护键和值的元数据。

旧的mapreduce api org.apache.hadoop.mapred包具有输入和输出格式,org.apache.hadoop.io包具有键和值类型。键和值类型包括Text,IntWritable,FloatWritable等。