Avro序列化與反序列化

四、Avro實現序列化的步驟java

一、建立maven工程,引入pom文件(定義屬性和依賴信息,以及定義Avro插件)app

二、根據Avro插件的要求,更改maven工程結構,須要建立一個source/main/avro源目錄maven

三、根據avroschema(模式)要求,建立模式文件(放在新建的源目錄中),寫好以後ui

四、執行 run-->maven generator sources命令,經過avro插件生成模式文件對應的javaspa

五、將數據封裝到java類中,而後經過avroAPI進行序列化和反序列化操做插件

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)判斷是否還有須要反序列化的內容

Whiledfr.hasNext( ) ){ dfr.next()}

相關文章
相關標籤/搜索