美文网首页
Hadoop之自定义序列化类型

Hadoop之自定义序列化类型

作者: 苏坡闷 | 来源:发表于2019-03-08 18:09 被阅读0次

    1.需要实现Hadoop的序列化接口Writable接口,当没有reduce阶段的时候,不需要实现Writable接口
    2.需要有控参构造器
    3.需要序列化的属性
    4.重写write和readFileds方法
    5.需要提供set 、 get方法
    6.在有需要查看具体的数据的需求的时候,还需要提供toString方法

    注意:write() 和 readFileds() 写入和读入的字段顺序要一致!
    当对象的属性为引用数据类型,避免数据为null!

    示例如下

    package org.apache.test;
    
    import java.io.DataInput;
    import java.io.DataOutput;
    import java.io.IOException;
    
    import org.apache.hadoop.io.Writable;
    
    public class TestBean implements Writable {
        
        long filed1;
        long filed2;
        long filed3;
    
        public TestBean() {
            super();
        }   
        
        public long getFiled1() {
            return filed1;
        }
    
        public void setFiled1(long filed1) {
            this.filed1 = filed1;
        }
    
        public long getFiled2() {
            return filed2;
        }
    
        public void setFiled2(long filed2) {
            this.filed2 = filed2;
        }
    
        public long getFiled3() {
            return filed3;
        }
    
        public void setFiled3(long filed3) {
            this.filed3 = filed3;
        }
    
        @Override
        public void write(DataOutput out) throws IOException {
            out.writeLong(filed1);
            out.writeLong(filed2);
            out.writeLong(filed3);
            
        }
    
        @Override
        public void readFields(DataInput in) throws IOException {
            filed1 = in.readLong();
            filed2 = in.readLong();
            filed3 = in.readLong();
            
        }
    }
    

    相关文章

      网友评论

          本文标题:Hadoop之自定义序列化类型

          本文链接:https://www.haomeiwen.com/subject/cntdpqtx.html