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

Explain explain

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.13.0
    • None
    • None

    Description

      I've gotten feedback over time saying that it's very difficult to grok our explain command. There's supposedly a lot of information that mainly matters to developers or the testing framework. Comparing it to other major DBs it does seem like we're packing way more into explain than other folks.

      I've gone through the explain checking, what could be done to improve readability. Here's a list of things I've found:

      • AST (unreadable in it's "lisp" syntax, not really required for end users)
      • Vectorization (enough to display once per task and only when true)
      • Expressions representation is very lengthy, could be much more compact
      • "if not exists" on DDL (enough to display only on true, or maybe not at all)
      • bucketing info (enough if displayed only if table is actually bucketed)
      • external flag (show only if external)
      • GlobalTableId (don't need in plain explain, maybe in extended)
      • Position of big table (already clear from plan)
      • Stats always (Most DBs mostly only show stats in explain, that gives a sense of what the planer thinks will happen)
      • skew join (only if true should be enough)
      • limit doesn't show the actual limit
      • "Alias -> Map Operator tree" -> alias is duplicated in TableScan operator
      • tag is only useful at runtime (move to explain extended)
      • Some names are camel case or abbreviated, clearer if full name
      • Tez is missing vertex map (aka edges)
      • explain formatted (json) is broken right now (swallows some information)

      Since changing explain results in many golden file updates, i'd like to take a stab at all of these at once.

      Attachments

        1. HIVE-6267.1.partial
          33 kB
          Gunther Hagleitner
        2. HIVE-6267.2.partial
          33 kB
          Gunther Hagleitner
        3. HIVE-6267.3.partial
          33 kB
          Gunther Hagleitner
        4. HIVE-6267.4.patch
          9.80 MB
          Gunther Hagleitner
        5. HIVE-6267.5.patch
          9.88 MB
          Gunther Hagleitner
        6. HIVE-6267.6.patch
          9.91 MB
          Gunther Hagleitner
        7. HIVE-6267.7.patch.gz
          607 kB
          Gunther Hagleitner
        8. HIVE-6267.8.patch
          0.6 kB
          Gunther Hagleitner

        Issue Links

        Activity

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

          People

            hagleitn Gunther Hagleitner Assign to me
            hagleitn Gunther Hagleitner
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment