That option is ignored if you're deriving the schema from the header. Since in the CSV standard supports quoting everything then having the header quoted should be supported.
Thanks Shawn ________________________________ From: Mark Payne <[email protected]> Sent: Saturday, August 18, 2018 6:56 PM To: [email protected] Subject: Re: CSV Illegal Initial Character Hey Shawn, It sounds like you need to set the cvs reader’s “Treat First Line as Header” property to true. By default it treats the first line as the first record (as opposed to the header), which looks like the case here. Sent from my iPhone On Aug 18, 2018, at 1:30 PM, Shawn Weeks <[email protected]<mailto:[email protected]>> wrote: I was building some example NiFi workflows from the CSV files at https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html specifically nile.csv and it appears that NiFi is trying to include the quoted header with quotes in the Avro schema it generates. This is an all defaults CSVReader used with a JsonRecordSetWriter in ConvertRecord. Wondering if this is a bug or expected behavior. I’m using the latest 1.7 binaries from nifi.apache.org<http://nifi.apache.org>. 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)
