这是Hadop MapReduce V1中提供的Gridmix代码片段,但我有以下问题。
他们分别将org.apache.hadoop.mapred.SequenceFileInputFormat
和org.apache.hadoop.mapred.SequenceFileOutputFormat
设为inFormat
和outFormat
,并将org.apache.hadoop.io.Text
设为outKey
和{{1} }}。对我来说,这个例子似乎接受Text文件作为序列文件。如何使用outValue
创建SequenceFiles?
org.apache.hadoop.io.Text
答案 0 :(得分:1)
您正在混合文件格式和键值类型。要读取纯文本数据,我们有TextFileInputFormat。键值类型在个人记录级别。序列输出文件格式采用文本格式的键和值,并在存储到HDFS之前在内部将数据序列化为二进制格式。在内部,它维护键和值的元数据。
旧的mapreduce api org.apache.hadoop.mapred
包具有输入和输出格式,org.apache.hadoop.io
包具有键和值类型。键和值类型包括Text,IntWritable,FloatWritable等。