Description
The following throws exception in Hive with ORC 1.8.3.
CREATE TABLE IF NOT EXISTS mytableorc183(text String) STORED AS orc TBLPROPERTIES('transactional'='true', 'orc.sarg.to.filter'='true');
insert into mytableorc183 values("test1");
select * from mytableorc183 where text='test1';
select throws this:
ERROR : Failed with exception java.io.IOException:java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.vector.LongColumnVector cannot be cast to org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector
java.io.IOException: java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.vector.LongColumnVector cannot be cast to org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector
at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:624)
at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:531)
at org.apache.hadoop.hive.ql.exec.FetchTask.executeInner(FetchTask.java:194)
at org.apache.hadoop.hive.ql.exec.FetchTask.execute(FetchTask.java:95)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:212)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:154)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:149)
at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:185)
at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:236)
at org.apache.hive.service.cli.operation.SQLOperation.access$500(SQLOperation.java:90)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:340)
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:1878)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:360)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.vector.LongColumnVector cannot be cast to org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector
at org.apache.orc.impl.filter.leaf.StringFilters$StringEquals.allow(StringFilters.java:64)
at org.apache.orc.impl.filter.LeafFilter.allowWithNegation(LeafFilter.java:80)
at org.apache.orc.impl.filter.LeafFilter.filter(LeafFilter.java:60)
at org.apache.orc.impl.filter.BatchFilterFactory$BatchFilterImpl.accept(BatchFilterFactory.java:76)
at org.apache.orc.impl.filter.BatchFilterFactory$BatchFilterImpl.accept(BatchFilterFactory.java:58)
at org.apache.orc.impl.reader.tree.StructBatchReader.nextBatch(StructBatchReader.java:88)
at org.apache.orc.impl.RecordReaderImpl.nextBatch(RecordReaderImpl.java:1426)
at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.ensureBatch(RecordReaderImpl.java:88)
at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.hasNext(RecordReaderImpl.java:104)
at org.apache.hadoop.hive.ql.io.orc.OrcRawRecordMerger$ReaderPairAcid.next(OrcRawRecordMerger.java:292)
at org.apache.hadoop.hive.ql.io.orc.OrcRawRecordMerger$ReaderPairAcid.<init>(OrcRawRecordMerger.java:260)
at org.apache.hadoop.hive.ql.io.orc.OrcRawRecordMerger.<init>(OrcRawRecordMerger.java:1119)
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getReader(OrcInputFormat.java:2126)
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getRecordReader(OrcInputFormat.java:2021)
at org.apache.hadoop.hive.ql.exec.FetchOperator$FetchInputFormatSplit.getRecordReader(FetchOperator.java:771)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:335)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:562)