Ответ 1
Похоже, у вас грязные руки с поставщиками типов на https://github.com/julianpeeters/avro-scala-macro-annotations
Чтобы облегчить работу с Avro в Scala, я хотел бы определить класс case на основе схемы, хранящейся в файле .avro. Я мог бы попробовать:
Спасибо, любые советы приветствуются. -Julian
Похоже, у вас грязные руки с поставщиками типов на https://github.com/julianpeeters/avro-scala-macro-annotations
Я взломал небольшой проект под названием Scalavro, чтобы перейти в другую сторону (Scala типы к схемам Avro). Он также дает вам прямой двоичный ввод-вывод.
Простой пример:
package com.gensler.scalavro.tests
import com.gensler.scalavro.types.AvroType
case class Person(name: String, age: Int)
val personAvroType = AvroType[Person]
personAvroType.schema
который дает:
{
"name": "Person",
"type": "record",
"fields": [
{"name": "name", "type": "string"},
{"name": "age", "type": "int"}
],
"namespace": "com.gensler.scalavro.tests"
}
На сайте проекта есть много других примеров (см. выше) и в самых полных спецификациях.
В ближайшем будущем у меня есть планы по размещению двоичных файлов на Sonatype OSS, но пока вы можете вытащить источник из github и sbt publish-local
, если вы хотите попробовать.
Update:
Scalaвро теперь доступен на Maven Central.