目录
1. Avsc和Avro的关系
AVSC file is an Apache Avro Schema. Avro is a remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
简而言之,Avsc相当于avro的schema,类似于xml格式的schema是xsd。
其实网上有不少相关资料可以通过avro-tools来生成avro数据,但这篇文章主要总结的是包含嵌套关系的avsc。
2. Avsc生成Java类
1) 下载avro-tools-1.7.7.jar。
2) 创建一个person.asvc:
{
"namespace": "com.bas.model",
"type": "record",
"name": "Person",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
},
{
"name": "gender",
"type": "string"
},
{
"name": "hometown",
"type": "string"
}
]
}
3) 执行:
java -jar avro-tools-1.7.7.jar compile schema person.avsc .
然后生成的java类将会在下一步用来生成avro(生成的类300行就不粘贴了)。


本文介绍了Apache Avro及其Schema文件(Avsc)的基础概念,包括Avsc与Avro的关系,如何通过Avsc生成Java类,并详细展示了如何利用这些Java类生成Avro格式的测试数据。文中还特别关注了复杂数据类型的处理。
最低0.47元/天 解锁文章
4435

被折叠的 条评论
为什么被折叠?



