您的位置:首页 > 产品设计 > UI/UE

SequenceFile与MapFile

2014-12-10 16:39 246 查看
public static String uri ="hdfs://192.168.1.201:9100";

    public static String []data ={

        "one, two",

        "three,four",

        "five,six",

        "seven,eight",

        "nine,ten"

    };

    public static void main(String[] args) throws IOException {

        // TODO Auto-generated method stub

        Configuration conf = new Configuration();

        FileSystem fs = FileSystem.get(URI.create(uri),conf);

        Path path = new Path("/tmp1.seq");

        IntWritable key = new IntWritable();

        Text value = new Text();

        //SequenceFile.Writer writer = SequenceFile.createWriter(fs, conf,path,key.getClass(),value.getClass());

        SequenceFile.Writer writer = SequenceFile.createWriter(fs, conf, path, key.getClass(), value.getClass(),CompressionType.RECORD,new BZip2Codec());

        for(int i=0;i<100;i++){

            key.set(100-i);

            value.set(data[i%data.length]);

            writer.append(key,value);

        }

        IOUtils.closeStream(writer);

    }

   

    public static String uri = "hdfs://192.168.1.201:9100";

    public static void main(String[] args) throws IOException {

        // TODO Auto-generated method stub

        Configuration conf = new Configuration();

        FileSystem fs = FileSystem.get(URI.create(uri),conf);

        Path path = new Path("/tmp1.seq");

        SequenceFile.Reader reader = new SequenceFile.Reader(fs, path, conf);

        Writable key = (Writable)ReflectionUtils.newInstance(reader.getKeyClass(), conf);

        Writable value = (Writable)ReflectionUtils.newInstance(reader.getValueClass(), conf);

        while(reader.next(key,value)){

            System.out.println("key =" +key);

            System.out.println("value =" +value);

            System.out.println("position =" + reader.getPosition());

        }

        IOUtils.closeStream(reader);

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: