|
|
-
Re: using strings instead of utf8Doug Cutting 2012-10-29, 21:37
On Fri, Oct 19, 2012 at 2:57 PM, Koert Kuipers <[EMAIL PROTECTED]> wrote:
> how do i tell (generic) avro to use strings for values instead of it's own > utf8 class? > > i saw a way of doing it by modifying the schemas (adding a property). i also > saw mention of a way to do it if you use maven (which i don't). The property is "avro.java.string". If the value is "String" then a java.lang.String is returned. In other words, if the reading schema is {"type":"string", "avro.java.string":"String"} then String will be returned instead of Utf8. The Maven technique causes the specific compiler to emit this for all String schemas. This is done by adding <stringType>String</stringType> to your pom.xml. > is there a generic way to do this? like a system property perhaps? or a > static method that i call to change the default? No. A static switch would break other applications that don't expect this. However one can override the readString() method in either the Decoder or the DatumReader to achieve this. Doug |