Scalavro是一个使用反射技术实现的Avro库。
Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。
示例代码:
importcom.gensler.scalavro.types.AvroTypeimportscala.util.{Try,Success,Failure}//obtaininganinstanceofAvroTypevalintSeqType=AvroType[Seq[Int]]//obtaininganAvroschemaforagivenAvroTypeintSeqType.schema//obtaininganAvroTypeIOobjectforagivenAvroType(viathe`io`method)valio:AvroTypeIO[Seq[Int]]=intSeqType.io//binaryI/Oio.write(Seq(1,2,3),outputStream)valSucess(readResult)=ioreadinputStream//jsonI/Ovaljson=iowriteJsonSeq(1,2,3)//[1,2,3]valSuccess(readResult)=ioreadJsonjson
评论