从JSON Schema文件创建AVRO模式

7
我有一个JSON文件和JSON Schema需要解析成AVRO Schema。我有点困惑,是不是必须使用AVRO文档中定义的数据类型手动编写AVRO schema。

还是说有任何自动化的方法/函数/程序可以完全按照要求工作?
2个回答

4

3

avro4s 可以在编译时从 case 类中生成 schema:

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"
  } ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接