[ https://issues.apache.org/jira/browse/NIFI-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14617932#comment-14617932 ]
ASF GitHub Bot commented on NIFI-751: ------------------------------------- Github user joewitt commented on the pull request: https://github.com/apache/incubator-nifi/pull/70#issuecomment-119416855 Alan, Thanks for contributing! We'll work with you to get this promptly merged. Here are some findings of an initial review: * Please run the build with 'mvn clean install -Pcontrib-check'. You'll find there many formatting issues. It appears that many of the lines have had extraneous newlines and tabs added to them. Please take a look and tweak until the contrib check runs cleanly and that you still think the code looks good. * There do not appear to be any unit tests for the processor itself. I do see a couple unit tests for the converter class/logic which is good but it is best to also have a test or two, particularly for something that seems as easily tested as this one is. You can find lots of examples throughout the codebase including in this kite bundle. * The conversion routines for Long, Double, Float, etc.. you really should consider adding regex checks before calling those methods. Since the Java methods use exception handling for flow control the performance penalty can be extremely severe compared to simply doing a regex check beforehand. In the event that the data is clean you'll be good to go but when it isn't the impact to the system as a whole can be dramatic. Given the nature of this sort of processor that is probably something to tackle right away. * This processor is probably a great candidate to use the 'Advanced Documentation' feature. Users will need this to understand the schema/syntax of the conversion configuration and examples would go a long way for that. You can see more about this here http://nifi.incubator.apache.org/docs/nifi-docs/html/developer-guide.html#advanced-documentation and there are some examples in the existing standard processors to consider. * There are a couple of copy/paste errors in the processor from the CSV/Avro converter. Look for these "Failed to convert {}/{} records from CSV to Avro" and "Failed to convert {}/{} records from CSV to Avro" I realize this looks like a lot of stuff but it should be pretty easy to address and is a good first step. If you have any questions on it just let us know. Thanks Joe > Add Processor To Convert Avro Formats > ------------------------------------- > > Key: NIFI-751 > URL: https://issues.apache.org/jira/browse/NIFI-751 > Project: Apache NiFi > Issue Type: Improvement > Components: Extensions > Affects Versions: 0.1.0 > Reporter: Alan Jackoway > > When working with data from external sources, such as complex WSDL, I > frequently wind up with complex nested data that is difficult to work with > even when converted to Avro format. Specifically, I often have two needs: > * Converting types of data, usually from string to long, double, etc. when > APIs give only string data back. > * Flattening data by taking fields out of nested records and putting them on > the top level of the Avro file. > Unfortunately the Kite JSONToAvro processor only supports exact conversions > from JSON to a matching Avro schema and will not do data transformations of > this type. Proposed processor to come. > Discussed this with [~rdblue], so tagging him here as I don't have permission > to set a CC for some reason. -- This message was sent by Atlassian JIRA (v6.3.4#6332)