You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Sreekanth (JIRA)" <ji...@apache.org> on 2019/06/03 16:43:00 UTC

[jira] [Updated] (NIFI-6158) FetchParquet : Unable to read parquet data which has decimal data type

     [ https://issues.apache.org/jira/browse/NIFI-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sreekanth updated NIFI-6158:
----------------------------
    Attachment: 000000_0

> FetchParquet : Unable to read parquet data which has decimal data type
> ----------------------------------------------------------------------
>
>                 Key: NIFI-6158
>                 URL: https://issues.apache.org/jira/browse/NIFI-6158
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.9.1
>            Reporter: Prasad Dasari
>            Priority: Major
>         Attachments: 000000_0
>
>
> Unable to read parquet data using FetchParquet processor which has decimal datype (decimal(38,10))
> Here is the error message 
> Cannot convert value [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] of type class org.apache.avro.generic.GenericData$Fixed because no compatible types exist in the UNION for field my_amount
> The parquet schema has following data type 
> fixed_len_byte_array(16) my_amount (DECIMAL(38,10))
>  
> Here is the stack trace 
> 2019-03-27 17:47:02,255 ERROR [Timer-Driven Process Thread-42] o.a.nifi.processors.parquet.FetchParquet FetchParquet[id=c0836062-0169-1000-0000-0000360a45b6] Failed to retrieve content from xxxxxxxxxx for StandardFlowFileRecord[uuid=6b65220b-3f77-460e-a5c4-e5298300a5c2,claim=,offset=0,name=part-00000,size=0] due to org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] of type class org.apache.avro.generic.GenericData$Fixed because no compatible types exist in the UNION for field xxxx; routing to failure: org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] of type class org.apache.avro.generic.GenericData$Fixed because no compatible types exist in the UNION for field xxxx
> org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] of type class org.apache.avro.generic.GenericData$Fixed because no compatible types exist in the UNION for field xxxxx
>  at org.apache.nifi.avro.AvroTypeUtil.convertUnionFieldValue(AvroTypeUtil.java:793)
>  at org.apache.nifi.avro.AvroTypeUtil.normalizeValue(AvroTypeUtil.java:879)
>  at org.apache.nifi.avro.AvroTypeUtil.convertAvroRecordToMap(AvroTypeUtil.java:742)
>  at org.apache.nifi.avro.AvroTypeUtil.convertAvroRecordToMap(AvroTypeUtil.java:715)
>  at org.apache.nifi.processors.parquet.record.AvroParquetHDFSRecordReader.nextRecord(AvroParquetHDFSRecordReader.java:62)
>  at org.apache.nifi.processors.hadoop.AbstractFetchHDFSRecord.lambda$null$0(AbstractFetchHDFSRecord.java:198)
>  at org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2648)
>  at org.apache.nifi.processors.hadoop.AbstractFetchHDFSRecord.lambda$onTrigger$1(AbstractFetchHDFSRecord.java:194)
>  at java.security.AccessController.doPrivileged(Native Method)
>  at javax.security.auth.Subject.doAs(Subject.java:360)
>  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1942)
>  at org.apache.nifi.processors.hadoop.AbstractFetchHDFSRecord.onTrigger(AbstractFetchHDFSRecord.java:178)
>  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)
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)