我有要解析为 AVRO 架构的 JSON 文件和 JSON 架构。我有点困惑,我是否必须使用 AVRO 文档中定义的数据类型来编写手动 AVRO 模式。
或者是否有任何自动化方法/功能/程序可以完全按照要求工作?
问问题
5015 次
2 回答
4
好吧,您可以尝试https://github.com/fge/json-schema-avro,但他们说它仍然不完整。所以不确定它是否会起作用
于 2016-08-23T06:58:52.163 回答
3
avro4s
在编译时从案例类派生模式:
import com.sksamuel.avro4s.SchemaFor
object Avro {
case class MyAvroClass(s: String, i: Int)
def main(args: Array[String]): Unit = {
val avroSchema = SchemaFor[MyAvroClass]()
println(avroSchema.toString(true))
}
}
产量:
{
"type" : "record",
"name" : "MyAvroClass",
"namespace" : "tests",
"fields" : [ {
"name" : "s",
"type" : "string"
}, {
"name" : "i",
"type" : "int"
} ]
}
于 2017-05-09T11:47:54.263 回答