Создание схемы AVRO из файла схемы JSON

У меня есть файл JSON и схема JSON для анализа в схеме AVRO. Я немного запутался, нужно ли мне писать схему AVRO вручную, используя типы данных, определенные в документации AVRO.

Или есть какой-нибудь автоматизированный метод / функция / программа, которая может работать точно так же, как требуется?

2 ответа

Ну, вы можете попробовать https://github.com/fge/json-schema-avro, но они говорят, что это еще не завершено. Так что не уверен, что это будет работать, хотя

avro4s получает схемы во время компиляции из case-классов:

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"
  } ]
}
Другие вопросы по тегам