[ https://issues.apache.org/jira/browse/NIFI-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16591855#comment-16591855 ]
ASF GitHub Bot commented on NIFI-5552: -------------------------------------- GitHub user pvillard31 opened a pull request: https://github.com/apache/nifi/pull/2966 NIFI-5552 - Add option to normalize header column names in CSVRecordR… …eader Thank you for submitting a contribution to Apache NiFi. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically master)? - [ ] Is your initial contribution a single, squashed commit? ### For code changes: - [ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly? - [ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly? - [ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. You can merge this pull request into a Git repository by running: $ git pull https://github.com/pvillard31/nifi NIFI-5552 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/nifi/pull/2966.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2966 ---- commit fab2accbfd605ebc739eff90cc461dbf840cdffd Author: Pierre Villard <pierre.villard.fr@...> Date: 2018-08-24T16:09:36Z NIFI-5552 - Add option to normalize header column names in CSVRecordReader ---- > CSVReader Can't Derive Schema from Quoted Headers > ------------------------------------------------- > > Key: NIFI-5552 > URL: https://issues.apache.org/jira/browse/NIFI-5552 > Project: Apache NiFi > Issue Type: Bug > Affects Versions: 1.7.1 > Reporter: Shawn Weeks > Assignee: Pierre Villard > Priority: Minor > > When deriving the schema from a CSV File Header NiFi is unable to generate a > valid schema if the Header Columns are Double Quoted even though the > CSVReader is set to handle quotes. Using the nile.csv sample file from > https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html results in an Illegal > initial character exception in the Avro Schema generator. In this specific > case the header did not contain any spaces or special characters though it > was case sensitive. > {code:java} > org.apache.avro.SchemaParseException: Illegal initial character: "Flood" > at org.apache.avro.Schema.validateName(Schema.java:1147) > at org.apache.avro.Schema.access$200(Schema.java:81) > at org.apache.avro.Schema$Field.<init>(Schema.java:403) > at org.apache.avro.Schema$Field.<init>(Schema.java:423) > at org.apache.avro.Schema$Field.<init>(Schema.java:415) > at org.apache.nifi.avro.AvroTypeUtil.buildAvroField(AvroTypeUtil.java:123) > at org.apache.nifi.avro.AvroTypeUtil.buildAvroSchema(AvroTypeUtil.java:114) > at org.apache.nifi.avro.AvroTypeUtil.extractAvroSchema(AvroTypeUtil.java:94) > at > org.apache.nifi.schema.access.WriteAvroSchemaAttributeStrategy.getAttributes(WriteAvroSchemaAttributeStrategy.java:58) > at org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:137) > at > org.apache.nifi.serialization.AbstractRecordSetWriter.write(AbstractRecordSetWriter.java:59) > at > org.apache.nifi.processors.standard.AbstractRecordProcessor$1.process(AbstractRecordProcessor.java:122) > at > org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2885) > at > org.apache.nifi.processors.standard.AbstractRecordProcessor.onTrigger(AbstractRecordProcessor.java:109) > at > org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) > at > org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165) > at > org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203) > at > org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748){code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)