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);
    }
}
相关推荐
KmSH8umpK6 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第八篇
数据库·redis·分布式
TDengine (老段)6 小时前
从施工监测到运营预警,桥科院用 TDengine 提升桥梁数据管理能力
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
宁波鹿语心理6 小时前
无条件的在场:一项极简亲子依恋修复练习的机制分析与实证观察
大数据
KmSH8umpK8 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
_F_y13 小时前
仿RabbitMQ实现消息队列-服务端核心模块实现(4)
分布式·rabbitmq
lizhihai_9914 小时前
股市学习心得—半导体12种核心材料
大数据·人工智能·学习
ZGi.ai14 小时前
智能客服系统设计:从工单分类到自动派单的工程实现
大数据·人工智能·分类
PaperData14 小时前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
Blockchain Learning14 小时前
去中心化身份(DID)模型解析:区块链如何重塑身份管理?
大数据·去中心化·区块链
xcbrand15 小时前
政府事业机构品牌策划公司哪家可靠
大数据·人工智能·python