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

Expect EQ and LIKE to Generate the Identical Explain Plans

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 2.3.4
    • None
    • CBO, Logical Optimizer
    • None

    Description

      I generated some test data with the UUID function.

      explain select * from test_like where a like 'abce6254-d437-426b-8873-2cbc153ddfbc';
      explain select * from test_like where a = 'abce6254-d437-426b-8873-2cbc153ddfbc';
      
      Explain
      STAGE DEPENDENCIES:
        Stage-1 is a root stage
        Stage-0 depends on stages: Stage-1
      
      STAGE PLANS:
        Stage: Stage-1
          Map Reduce
            Map Operator Tree:
                TableScan
                  alias: test_like
                  filterExpr: (a like 'abce6254-d437-426b-8873-2cbc153ddfbc') (type: boolean)
                  Statistics: Num rows: 262144 Data size: 9437184 Basic stats: COMPLETE Column stats: NONE
                  Filter Operator
                    predicate: (a like 'abce6254-d437-426b-8873-2cbc153ddfbc') (type: boolean)
                    Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
                      expressions: a (type: string)
                      outputColumnNames: _col0
                      Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                      File Output Operator
                        compressed: false
                        Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                        table:
                            input format: org.apache.hadoop.mapred.TextInputFormat
                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
      
        Stage: Stage-0
          Fetch Operator
            limit: -1
            Processor Tree:
              ListSink
      
      Explain
      STAGE DEPENDENCIES:
        Stage-1 is a root stage
        Stage-0 depends on stages: Stage-1
      
      STAGE PLANS:
        Stage: Stage-1
          Map Reduce
            Map Operator Tree:
                TableScan
                  alias: test_like
                  filterExpr: (a = 'abce6254-d437-426b-8873-2cbc153ddfbc') (type: boolean)
                  Statistics: Num rows: 262144 Data size: 9437184 Basic stats: COMPLETE Column stats: NONE
                  Filter Operator
                    predicate: (a = 'abce6254-d437-426b-8873-2cbc153ddfbc') (type: boolean)
                    Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
                      expressions: 'abce6254-d437-426b-8873-2cbc153ddfbc' (type: string)
                      outputColumnNames: _col0
                      Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                      File Output Operator
                        compressed: false
                        Statistics: Num rows: 131072 Data size: 4718592 Basic stats: COMPLETE Column stats: NONE
                        table:
                            input format: org.apache.hadoop.mapred.TextInputFormat
                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
      
        Stage: Stage-0
          Fetch Operator
            limit: -1
            Processor Tree:
              ListSink
      

      They may be the same under the covers, but I would expect the EXPLAIN plan to be exactly the same.

      Attachments

        Activity

          People

            Unassigned Unassigned
            belugabehr David Mollitor
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: