package com.uplooking.bigdata.mr.writablez.sequecefile;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.SequenceFile.Reader;
import org.apache.hadoop.io.SequenceFile.Reader.Option;
import org.apache.hadoop.io.Text;
import java.io.*;
/**
* 将一个SequenceFile的文件转变成为一个普通的文本文件
*/
public class SequenceFileReadOps {
public static void main(String[] args) throws Exception {
if(args == null || args.length < 2) {
System.err.println("Parameter Errors ! Usage: <inputpath outputpath>");
System.exit(-1);
}
String inputpath = args[0];
// Path outputpath = new Path(args[1]);
String outputpath = args[1];
Configuration conf = new Configuration();
Option inputOps = Reader.file(new Path(inputpath));
Option[] opts = new Option[]{inputOps};
Reader reader = new SequenceFile.Reader(conf, opts);
Text key = new Text();
BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));
while(reader.next(key, NullWritable.get())) {//将数据写入到key里面了
String line = key.toString();
bw.write(line);
bw.newLine();
}
bw.close();
reader.close();
}
}
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.SequenceFile.Reader;
import org.apache.hadoop.io.SequenceFile.Reader.Option;
import org.apache.hadoop.io.Text;
import java.io.*;
/**
* 将一个SequenceFile的文件转变成为一个普通的文本文件
*/
public class SequenceFileReadOps {
public static void main(String[] args) throws Exception {
if(args == null || args.length < 2) {
System.err.println("Parameter Errors ! Usage: <inputpath outputpath>");
System.exit(-1);
}
String inputpath = args[0];
// Path outputpath = new Path(args[1]);
String outputpath = args[1];
Configuration conf = new Configuration();
Option inputOps = Reader.file(new Path(inputpath));
Option[] opts = new Option[]{inputOps};
Reader reader = new SequenceFile.Reader(conf, opts);
Text key = new Text();
BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));
while(reader.next(key, NullWritable.get())) {//将数据写入到key里面了
String line = key.toString();
bw.write(line);
bw.newLine();
}
bw.close();
reader.close();
}
}