Hi, Just out of curiosity, does your MapReduce job run correctly if you manually just replace the "." with a "_" in your schema
Yes it worked. Regards, SBM On Tue, 30 Jul, 2019, 21:22 Ryan Skraba, <r...@skraba.com> wrote: > OK, I learned something new -- I have never seen the > setValidation(false) before! It looks like it was added for Avro 1.5 > (https://issues.apache.org/jira/browse/AVRO-838) only to be compatible > with files generated by Avro 1.4 implementations that (wrongly) > permitted invalid names. > > It looks like it isn't possible with the existing AvroJob > implementation in that case, and the static methods that use > Schema.parser() are widely baked into the Avro MapReduce classes, so I > can't see an easy workaround. > > You might raise a JIRA or discuss on the dev@ mailing list for a new > feature, but I suspect that the best route would be to try and move > your schemas to names that meet the specification! > > Just out of curiosity, does your MapReduce job run correctly if you > manually just replace the "." with a "_" in your schema? > > All my best, Ryan > > > On Tue, Jul 30, 2019 at 4:21 PM SB M <manjusree1...@gmail.com> wrote: > > > > Hi , > > > > What I mean when using a Schema.parse(), we can set the validation of > names to false, using setValidation method. > > > > But using avrojob there is no option to set this validation to false. > > > > I want this validation option to make the parser validation to false.so > that I can use it my code. > > > > > > What am trying to achieve is I have a avro schema with sub structure > with name has operators separated by dot(.), which is not a valid one when > schema gets parsing. It will throw error. > > > > But there is an option to set this name validation to false while > parsing by using new schema.Parser().setValidation(false); > > > > But with the AvroJob no option to set validation. I needed this feature. > > > > Thanks, > > Sree > > > > > > On Tue, 30 Jul, 2019, 14:11 Ryan Skraba, <r...@skraba.com> wrote: > >> > >> Hello! I'm not sure I understand your question. Some names are > >> *required* with a specific format in the Avro specification > >> (http://avro.apache.org/docs/1.8.2/spec.html#names) > >> > >> What are you looking to accomplish? I can think of two scenarios that > >> we've seen in the past: (1) anonymous records where the name has no > >> interest, and (2) mapping a structure that supports arbitrary UTF-8 > >> names (like a database table) to a record with the same field names. > >> Neither of those are supported in the Avro specification. > >> > >> For the first case (where we don't care about the record name), we > >> just autogenerated a "safe" but unused record name. > >> > >> For the second case, we used a custom annotation on the field > >> (something like "display.name") to contain the original value and > >> generated a "safe" field name. > >> > >> In both cases, being safe means that it meets the Avro spec > >> ([A-Za-z_][A-Za-z0-9_]*) and avoids collisions with other generated > >> names. > >> > >> I hope this helps! Ryan > >> > >> On Fri, Jul 26, 2019 at 1:52 PM SB M <manjusree1...@gmail.com> wrote: > >> > > >> > Hi All, > >> > > >> > Problem: I need a option to set name validation for schema parsing, > when setting with avrojob and avromultipleinputs. > >> > > >> > Is there any way to set schema name validation to false currently, > when am ho through source code am not able to find any options like that. > >> > > >> > Please give a some solution. > >> > > >> > Regards, > >> > Sree. > >> > >