Hadoop序列化与反序列化具体实践

首先创建两个类

两个类的代码

Student类:

java 复制代码
import org.apache.hadoop.io.Writable;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

public class Student implements Writable {
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student() {
    }

    public String name;
    public int age;

    @Override
    public void write(DataOutput dataOutput) throws IOException {
        dataOutput.writeUTF(name);
        dataOutput.writeInt(age);
    }

    @Override
    public void readFields(DataInput dataInput) throws IOException {
        name = dataInput.readUTF();
        age = dataInput.readInt();
    }
}

TestStudent类:

java 复制代码
import java.io.*;

public class TestStudent {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        Student student = new Student("小花", 18);

        // hadoop序列化
        DataOutputStream dos = new DataOutputStream(new FileOutputStream("Student_hadoop.txt"));
        student.write(dos);

        // hadoop 反序列化
        DataInputStream dis = new DataInputStream(new FileInputStream("Student_hadoop.txt"));
        Student student1 = new Student();
        student1.readFields(dis);
        System.out.println(student1.name+ " "+student1.age);
    }
}
相关推荐
磐链科技1 小时前
交场景下的钱包开发痛点:并发交易与消息推送的分布式一致性技术方案
分布式
多加点辣也没关系3 小时前
Git - 的安装与使用
大数据·git
醉颜凉3 小时前
Elasticsearch 相关性评分核心解密:tie_breaker 参数作用原理与实战调优全解析
大数据·elasticsearch·jenkins
芯小途20263 小时前
影视 AIGC 素材管理:改到第 108 版,为什么「块级去重」能把 TB 级素材压回百 GB(附估算脚本)
大数据·aigc
IanSkunk4 小时前
视光中心建设复盘:从流程断层到组织能力的落地路径
大数据·人工智能
fanged4 小时前
Yocto1--环境搭建和验证
大数据·搜索引擎·嵌入式
微石科技5 小时前
社区卫生中心慢病管理怎么做?宁波微石科技智慧医康系统:一个平台管住趋势、随访、患者
大数据·人工智能·科技
大大大大晴天5 小时前
K8S 在大数据里的真正价值:适用场景、收益边界与不适合的地方
大数据·云原生
跨境小彭5 小时前
Temu半托管运营复盘:批量备货自动化实操解决方案
大数据·运维·自动化·跨境电商·temu
千里码aicood6 小时前
【区块链】一种面向稀疏车流量场景的车联网共识算法设计与实现
大数据