Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-21437

Vectorization: Decimal64 division with integer columns

    XMLWordPrintableJSON

Details

    Description

      Vectorizer fails for

      CREATE temporary TABLE `catalog_Sales`(
        `cs_quantity` int, 
        `cs_wholesale_cost` decimal(7,2), 
        `cs_list_price` decimal(7,2), 
        `cs_sales_price` decimal(7,2), 
        `cs_ext_discount_amt` decimal(7,2), 
        `cs_ext_sales_price` decimal(7,2), 
        `cs_ext_wholesale_cost` decimal(7,2), 
        `cs_ext_list_price` decimal(7,2), 
        `cs_ext_tax` decimal(7,2), 
        `cs_coupon_amt` decimal(7,2), 
        `cs_ext_ship_cost` decimal(7,2), 
        `cs_net_paid` decimal(7,2), 
        `cs_net_paid_inc_tax` decimal(7,2), 
        `cs_net_paid_inc_ship` decimal(7,2), 
        `cs_net_paid_inc_ship_tax` decimal(7,2), 
        `cs_net_profit` decimal(7,2))
       ;
      
      explain vectorization detail select max((((cs_ext_list_price - cs_ext_wholesale_cost) - cs_ext_discount_amt) + cs_ext_sales_price) / 2) from catalog_sales;
      
      '            Map Vectorization:'
      '                enabled: true'
      '                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true'
      '                inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
      '                notVectorizedReason: SELECT operator: Could not instantiate DecimalColDivideDecimalScalar with arguments arguments: [21, 20, 22], argument classes: [Integer, Integer, Integer], exception: java.lang.IllegalArgumentException: java.lang.ClassCastException@63b56be0 stack trace: sun.reflect.GeneratedConstructorAccessor<omitted>.newInstance(Unknown Source), sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45), java.lang.reflect.Constructor.newInstance(Constructor.java:423), org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.instantiateExpression(VectorizationContext.java:2088), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.fixDecimalDataTypePhysicalVariations(Vectorizer.java:4662), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.fixDecimalDataTypePhysicalVariations(Vectorizer.java:4602), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.vectorizeSelectOperator(Vectorizer.java:4584), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperator(Vectorizer.java:5171), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.doProcessChild(Vectorizer.java:923), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.doProcessChildren(Vectorizer.java:809), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperatorTree(Vectorizer.java:776), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.access$2400(Vectorizer.java:240), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:2038), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:1990), org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapWork(Vectorizer.java:1963), ...'
      '                vectorized: false'
      

      Attachments

        1. HIVE-21437.6.patch
          92 kB
          Attila Magyar
        2. HIVE-21437.3.patch
          93 kB
          Teddy Choi
        3. HIVE-21437.2.patch
          93 kB
          Teddy Choi
        4. HIVE-21437.1.patch
          14 kB
          Teddy Choi

        Activity

          People

            amagyar Attila Magyar
            gopalv Gopal Vijayaraghavan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h