2016-04-18 32 views
4

我有JSON文件&將JSON架構解析爲AVRO架構。我有點困惑,是否必須使用AVRO文檔中定義的數據類型編寫手動AVRO模式。

或者是否有任何自動化方法/功能/程序可以按照要求完全相同地工作?從JSON Schema文件創建AVRO架構

回答

-1

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" 
    } ] 
}