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);
    }
}
相关推荐
小袁拒绝摆烂34 分钟前
Redis-高级篇(分布式缓存/持久化)
redis·分布式·缓存
精神内耗中的钙奶饼干2 小时前
Windows 系统上安装和使用 Apache Kafka记录
大数据·kafka
观无2 小时前
基于AOP+Log4Net+AutoFac日志框架
java·大数据·数据库
EasyDSS3 小时前
安防监控视频管理平台EasyCVR助力建筑工地施工4G/5G远程视频监管方案
大数据·网络·网络协议·音视频
F36_9_4 小时前
质量问题频发,如何提升源头把控
大数据·运维
2401_890665864 小时前
免费送源码:Java+ssm+MySQL 基于PHP在线考试系统的设计与实现 计算机毕业设计原创定制
java·hadoop·spring boot·python·mysql·spring cloud·php
lqg_zone4 小时前
Elasticvue-轻量级Elasticsearch可视化管理工具
大数据·elasticsearch·搜索引擎
帝锦_li4 小时前
微服务1--服务架构
分布式·微服务·系统架构
youka1504 小时前
大数据学习栈记——MongoDB编程
大数据·学习·mongodb
星辰瑞云5 小时前
Spark-SQL核心编程2
大数据·分布式·spark