在构建时从 scala 案例 class 生成 avsc avro 模式
Generate avsc avro schema from a scala case class at build
我想从 scala 案例中生成一个 avro 模式 class。
假设我有以下 scala 案例 class:
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"}
]
}
有没有办法在构建时生成 avro schema?例如使用 sbt?
我看到 sbt-avro4s 允许从 avro 模式构建 scala class,但我需要做相反的事情。
在此先感谢您的帮助
Avro4s
包含从 case class
.
生成 Avro 模式的逻辑
https://github.com/sksamuel/avro4s#schemas
以项目为例:
import com.sksamuel.avro4s.AvroSchema
case class User(name : String, favorite_number: Int, favorite_color: String)
val userSchema = AvroSchema[User]
希望这足以让您在需要时开始执行 sbt
任务。
我想从 scala 案例中生成一个 avro 模式 class。
假设我有以下 scala 案例 class:
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"}
]
}
有没有办法在构建时生成 avro schema?例如使用 sbt? 我看到 sbt-avro4s 允许从 avro 模式构建 scala class,但我需要做相反的事情。
在此先感谢您的帮助
Avro4s
包含从 case class
.
https://github.com/sksamuel/avro4s#schemas
以项目为例:
import com.sksamuel.avro4s.AvroSchema
case class User(name : String, favorite_number: Int, favorite_color: String)
val userSchema = AvroSchema[User]
希望这足以让您在需要时开始执行 sbt
任务。