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)

Reply via email to