Uploaded image for project: 'ORC'
  1. ORC
  2. ORC-1413

ORC row level filter throws Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.8.3
    • 1.9.0, 1.8.4, 1.7.10
    • None
    • None

    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)

      Attachments

        Activity

          People

            zratkai Zoltán Rátkai
            zratkai Zoltán Rátkai
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: