I didn't realize this is exactly the right answer, thank you, Harsh!
2014-05-19 18:52 GMT+08:00 Harsh J <ha...@cloudera.com>: > 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 <raofeng...@gmail.com> 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 <ha...@cloudera.com>: > > > >> 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 <raofeng...@gmail.com> > 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 >