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 分钟前
Flink-1.19.0源码详解6-JobGraph生成-后篇
大数据·flink
IvanCodes1 小时前
Oracle 视图
大数据·数据库·sql·oracle
cal_2 小时前
数据分析中的拉链表解析
大数据·数据挖掘·数据分析
亿信华辰软件2 小时前
亿信华辰赋能大学教务数据分析实战记
大数据·数据分析
❀always❀3 小时前
深入浅出分布式限流(更新中)
分布式·wpf
qyresearch_3 小时前
全球机械工业设计服务市场:技术驱动下的创新与增长
大数据·人工智能
前端开发与ui设计的老司机4 小时前
大数据时代UI前端的智能化升级:基于机器学习的用户意图预测
大数据·ui
oneslide4 小时前
elasticsearch备份恢复
大数据·elasticsearch·搜索引擎
rui锐rui5 小时前
大数据学习6:Sqoop数据迁移工具
大数据·学习·sqoop
Bug退退退1235 小时前
RabbitMQ 幂等性
分布式·rabbitmq