Hi,

Field names should be unique.
Currently after executing query both 'plant.name' and 'area.name' will be
just same 'name'

You can use alias to have unique name, like:
SELECT plant.name as pname, area.area_id, area.name as aname

thanks
toivo

2016-04-21 18:51 GMT+03:00 Panos Geo <panospanos1...@outlook.com>:

> Hello all,
>
> I would appreciate your help in the Avro error that I am seeing. I am
> executing the following very simple SQL select statement using the
> ExecuteSQL processor :
>
> SELECT plant.name, area.area_id, area.name
> FROM plant, area
> WHERE plant.plant_id=area.plant_id;
>
> …and I get the following error message
> “org.apache.avro.AvroRuntimeException: Duplicate field name in record
> any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.”
> essentially telling me that I have two fields in the select statement with
> the same name (plant.name and area.name) even though they are in
> different tables (full trace below).
>
> I have tried to rename the field in the result (e.g. SELECT plant.name as
> differentname) or try a JOIN equivalent statement but I still get the same
> error. Is this a bug or am I doing something wrong?
>
> Many thanks for your help in advance,
> Panos
>
> Stack trace :
> 2016-04-21 16:52:41,888 ERROR [Timer-Driven Process Thread-10]
> o.a.nifi.processors.standard.ExecuteSQL
> ExecuteSQL[id=e8fbc2aa-8594-4011-9a9e-bd93d0c2e7f9]
> ExecuteSQL[id=e8fbc2aa-8594-4011-9a9e-bd93d0c2e7f9] failed to process
> session due to org.apache.avro.AvroRuntimeException: Duplicate field name
> in record any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.:
> org.apache.avro.AvroRuntimeException: Duplicate field name in record
> any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.
> 2016-04-21 16:52:41,889 ERROR [Timer-Driven Process Thread-10]
> o.a.nifi.processors.standard.ExecuteSQL
> org.apache.avro.AvroRuntimeException: Duplicate field name in record
> any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.
> at org.apache.avro.Schema$RecordSchema.setFields(Schema.java:590) ~[na:na]
> at
> org.apache.avro.SchemaBuilder$FieldAssembler.endRecord(SchemaBuilder.java:2013)
> ~[na:na]
> at
> org.apache.nifi.processors.standard.util.JdbcCommon.createSchema(JdbcCommon.java:245)
> ~[na:na]
> at
> org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:82)
> ~[na:na]
> at
> org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:72)
> ~[na:na]
> at
> org.apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:158)
> ~[na:na]
> at
> org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:1954)
> ~[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at
> org.apache.nifi.processors.standard.ExecuteSQL.onTrigger(ExecuteSQL.java:152)
> ~[na:na]
> at
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> ~[nifi-api-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1057)
> ~[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
> [nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at
> org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
> [nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:123)
> [nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> [na:1.8.0_77]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> [na:1.8.0_77]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> [na:1.8.0_77]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_77]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
>

Reply via email to