Создание схемы 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"
} ]
}