目前我正在将类序列化为avsc架构。这非常有用:
DatasetDescriptor desc = new DatasetDescriptor.Builder().schema(ClassName.class).build();
但是,我需要动态创建一个没有任何给定类的AVSC 。这可能吗?
答案 0 :(得分:1)
有可能。您可以动态创建架构或读取avro架构。以下代码使用硬编码模式,但基本上是相同的想法
Schema schema = new Schema.Parser().parse("{\"namespace\": \"example.avro\",\n" +
" \"type\": \"record\",\n" +
" \"name\": \"User\",\n" +
" \"fields\": [\n" +
" {\"name\": \"name\", \"type\": \"string\"},\n" +
" {\"name\": \"favorite_number\", \"type\": [\"int\", \"null\"]},\n" +
" {\"name\": \"favorite_color\", \"type\": [\"string\", \"null\"]}\n" +
" ]\n" +
"}");
DatasetDescriptor desc = new DatasetDescriptor.Builder().schema(schema).build();