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

zzzzming95 resolved HIVE-27983.
-------------------------------
    Fix Version/s: 3.2.0
       Resolution: Fixed

> Hive throw NPE when write to parquet file and trigger map merge
> ---------------------------------------------------------------
>
>                 Key: HIVE-27983
>                 URL: https://issues.apache.org/jira/browse/HIVE-27983
>             Project: Hive
>          Issue Type: Bug
>            Reporter: zzzzming95
>            Priority: Major
>             Fix For: 3.2.0
>
>
> Hive will throw NPE when write to parquet file and trigger map merge. The 
> sample insert sql like 
>  
> ```
> create table test (...) stored as parquet;
> insert into table test partition(dt=20231204) select * from origin ;
> ```
>  
> If the Mapreduce trigger map merge, hive will throw exception :
> {code:java}
> Error: java.io.IOException: java.lang.reflect.InvocationTargetException
>     at 
> org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderCreationException(HiveIOExceptionHandlerChain.java:97)
>     at 
> org.apache.hadoop.hive.io.HiveIOExceptionHandlerUtil.handleRecordReaderCreationException(HiveIOExceptionHandlerUtil.java:57)
>     at 
> org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.initNextRecordReader(HadoopShimsSecure.java:271)
>     at 
> org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.<init>(HadoopShimsSecure.java:217)
>     at 
> org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getRecordReader(HadoopShimsSecure.java:345)
>     at 
> org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:695)
>     at 
> org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:175)
>     at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:444)
>     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:349)
>     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:178)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at javax.security.auth.Subject.doAs(Subject.java:422)
>     at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1857)
>     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:172)
> Caused by: java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>     at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>     at 
> org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.initNextRecordReader(HadoopShimsSecure.java:257)
>     ... 11 more
> Caused by: java.lang.NullPointerException
>     at java.util.AbstractCollection.addAll(AbstractCollection.java:343)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.ProjectionPusher.pushProjectionsAndFilters(ProjectionPusher.java:118)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.ProjectionPusher.pushProjectionsAndFilters(ProjectionPusher.java:189)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.ParquetRecordReaderBase.getSplit(ParquetRecordReaderBase.java:75)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.<init>(ParquetRecordReaderWrapper.java:75)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.<init>(ParquetRecordReaderWrapper.java:60)
>     at 
> org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat.getRecordReader(MapredParquetInputFormat.java:75)
>     at 
> org.apache.hadoop.hive.ql.io.CombineHiveRecordReader.<init>(CombineHiveRecordReader.java:99)
>     ... 16 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to