I have the JSON file & JSON Schema to be parsed into the AVRO Schema. I am little bit confused, do i have to write the manual AVRO schema using the data types defined in AVRO documentation.
Or is there any automated method / function / program that can work exactly the same as required ?
Asked
Active
Viewed 5,987 times
7

user2857762
- 81
- 1
- 4
2 Answers
4
Well, you can try https://github.com/fge/json-schema-avro, but they say it is still not complete. So not sure it will work, though

RadioLog
- 582
- 1
- 4
- 20
3
avro4s
derives schemas at compile time from case classes:
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))
}
}
Yields:
{
"type" : "record",
"name" : "MyAvroClass",
"namespace" : "tests",
"fields" : [ {
"name" : "s",
"type" : "string"
}, {
"name" : "i",
"type" : "int"
} ]
}

Yuval Itzchakov
- 146,575
- 32
- 257
- 321