Генерировать avsc avro схему из класса дел в scala при сборке
Я хочу сгенерировать авро-схему из класса дел Scala.
Предположим, у меня есть следующий класс случая scala:
case class User(name : String, favorite_number: Int, favorite_color: String)
Связанная схема avro:
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": "int"},
{"name": "favorite_color", "type": "string"}
]
}
Есть ли способ генерировать во время сборки авросхему? используя sbt например? Я видел sbt-avro4s, которые позволяют создавать класс scala из схемы avro, но мне нужно сделать обратное.
Заранее спасибо за помощь
1 ответ
Avro4s
содержит логику для генерации схемы Avro из case class
,
https://github.com/sksamuel/avro4s
Следуя примеру проекта:
import com.sksamuel.avro4s.AvroSchema
case class User(name : String, favorite_number: Int, favorite_color: String)
val userSchema = AvroSchema[User]
Надеюсь, этого достаточно, чтобы начать sbt
Задача, если это необходимо.