四、Avro实现序列化的步骤java
一、建立maven工程,引入pom文件(定义属性和依赖信息,以及定义Avro插件)app
二、根据Avro插件的要求,更改maven工程结构,须要建立一个source/main/avro源目录maven
三、根据avro的schema(模式)要求,建立模式文件(放在新建的源目录中),写好以后ui
四、执行 run-->maven generator sources命令,经过avro插件生成模式文件对应的java类spa
五、将数据封装到java类中,而后经过avro的API进行序列化和反序列化操做插件
1)设置属性值的方法:1)经过java日常的API 2)借助newBuilder()和build()方法:new Student().newBuilder(stu1).setAge(21).build();对象
2)建立schema文件产生的要序列化的对象stu,并赋值ci
3)建立DatumWriter<>对象,DatumWriter dw = new SpecificDatumWriter<>();generator
4)建立DataFileWriter<>对象,DataFileWriter<> dfw = new DataFIleWriter<>(df);it
5)建立序列化通道 dfw.create(schema,file);schema:被序列化对象的对应模式
File:将序列化对象写入到哪个文件中
6)将对象序列化到指定的文件中
dfw.append(stu);
反序列化:
1)建立DatumReader<>对象,DatumReader dr= new SpecificDatumReader<>();
2)建立DataFileReader<>对象,DataFileReader<> dfr= new DataFIleReader<>(new File(“1.txt”),dr);
3)判断是否还有须要反序列化的内容
While(dfr.hasNext( ) ){ dfr.next()}