Ah my bad, I didn't realise you wanted to infer/generate the schema in code. I believe you may be looking for this static method perhaps: http://avro.apache.org/docs/1.7.6/api/java/org/apache/avro/generic/GenericData.html#setStringType(org.apache.avro.Schema, org.apache.avro.generic.GenericData.StringType)
On Mon, May 19, 2014 at 4:03 PM, Fengyun RAO <[email protected]> wrote: > Yes, I knew it. "MyType.java" was compiled using "-string". > > My question is how to generate schema of Map<String, MyType> , providing > that I only have "MyType.avsc" file, but not the map schema file. > > Schema.createMap(Schema myType) method generates a Map<Utf8, MyType>, not > Map<String, MyType>. > > > 2014-05-19 18:16 GMT+08:00 Harsh J <[email protected]>: > >> You can pass -string to the avro-tools compile program, to make the >> generated classes use String/CharSequence and not Utf8. >> >> On Mon, May 19, 2014 at 1:37 PM, Fengyun RAO <[email protected]> wrote: >> > I've noticed the jira page: >> > https://issues.apache.org/jira/browse/AVRO-803, >> > and known how to generate a Map<String, MyType> class using a schema >> > file. >> > >> > In my case, the schema file is “MyType.avsc”, and I used avro-tools to >> > generate a "MyType.java" class, >> > My question is how to dynamically create a MapSchema of Map<String, >> > MyType>, >> > since I have to Ser/De a Map<String, MyType>. >> > >> > I tried to use the method Schema.createMap(Schema myType), but the key >> > is >> > "Utf8" not "String". >> >> >> >> -- >> Harsh J > > -- Harsh J
