Невозможно преобразовать строку JSON в схему Avro с помощью Kite-data-core
Я пытаюсь преобразовать строку JSON в схему Avro, используя https://github.com/kite-sdk/kite/blob/master/kite-data/kite-data-core/src/main/java/org/kitesdk/ данные/spi/JsonUtil.java#L539
Но для приведенного ниже кода -
String json = "{\n" +
" \"id\": 1,\n" +
" \"name\": \"A green door\",\n" +
" \"price\": 12.50,\n" +
" \"tags\": [\"home\", \"green\"]\n" +
"}\n"
;
Schema avroSchema = JsonUtil.inferSchema(JsonUtil.parse(jsonString), "myschema");
System.out.println(avroSchema.toString());
Я получаю ошибку -
Exception in thread "main" java.lang.NoSuchMethodError: 'void org.apache.avro.Schema$Field.<init>(java.lang.String, org.apache.avro.Schema, java.lang.String, org.codehaus.jackson.JsonNode)'
at org.kitesdk.data.spi.JsonUtil$JsonSchemaVisitor.object(JsonUtil.java:569)
at org.kitesdk.data.spi.JsonUtil$JsonSchemaVisitor.object(JsonUtil.java:547)
at org.kitesdk.data.spi.JsonUtil.visit(JsonUtil.java:181)
at org.kitesdk.data.spi.JsonUtil.visit(JsonUtil.java:177)
at org.kitesdk.data.spi.JsonUtil.inferSchema(JsonUtil.java:540)
Что я могу сделать, чтобы решить эту проблему?
1 ответ
Понижение версии avro до 1.7.5 устранило проблему.
https://mvnrepository.com/artifact/org.apache.avro/avro/1.7.5