0

I am trying to convert a JSON String to Avro Schema using https://github.com/kite-sdk/kite/blob/master/kite-data/kite-data-core/src/main/java/org/kitesdk/data/spi/JsonUtil.java#L539

But for the below code -

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());

I am getting error -

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)

What can I do to resolve this?

1 Answers1

0

Downgrading avro version to 1.7.5 fixed the issue for me.

https://mvnrepository.com/artifact/org.apache.avro/avro/1.7.5

Anilal
  • 126
  • 4