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

Expect EQ and LIKE to Generate the Identical Explain Plans

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            belugabehr David Mollitor

            Dates

              Created:
              Updated:

              Slack

                Issue deployment