Creating AVRO schema from JSON Schema File
Asked Answered
C

2

7

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 ?

Contrived answered 18/4, 2016 at 9:18 Comment(0)
V
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

Velar answered 23/8, 2016 at 6:58 Comment(0)
L
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"
  } ]
}
Lapin answered 9/5, 2017 at 11:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.