Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4289

Mark slots produced by NDV() and NDV_NO_FINALIZE() as non-nullable.

    Details

      Description

      COMPUTE STATS and COMPUTE INCREMENTAL STATS might get a slight speedup if we marked the aggregation slots as non-nullable.

      Of course, regular uses of NDV() and NDV_NO_FINALIZE() would also benefit.

      Not sure what speedup might be (simple experiments were inconclusive), but making this change seems strictly better than leaving the slots nullable.

        Activity

        Hide
        alex.behm Alexander Behm added a comment -

        commit 0b3efb19cc0d971a47d0b7d7928a2d311c13e65a
        Author: Alex Behm <alex.behm@cloudera.com>
        Date: Wed Oct 12 16:57:49 2016 -0700

        IMPALA-4289: Mark agg slots of NDV() functions as non-nullable.

        This change might give a minor speedup to COMPUTE STATS
        and COMPUTE INCREMENTAL STATS. In any case, marking the slots
        non-nullable seems strictly better than leaving them nullable.

        Testing: I ran our local testdata/compute-table-stats.sh and
        it succeeded.

        Change-Id: I1c05b8dfb797b2a42ee1a7bf14ad56bb83d2b1c5
        Reviewed-on: http://gerrit.cloudera.org:8080/4707
        Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
        Reviewed-by: Alex Behm <alex.behm@cloudera.com>
        Tested-by: Internal Jenkins

        Show
        alex.behm Alexander Behm added a comment - commit 0b3efb19cc0d971a47d0b7d7928a2d311c13e65a Author: Alex Behm <alex.behm@cloudera.com> Date: Wed Oct 12 16:57:49 2016 -0700 IMPALA-4289 : Mark agg slots of NDV() functions as non-nullable. This change might give a minor speedup to COMPUTE STATS and COMPUTE INCREMENTAL STATS. In any case, marking the slots non-nullable seems strictly better than leaving them nullable. Testing: I ran our local testdata/compute-table-stats.sh and it succeeded. Change-Id: I1c05b8dfb797b2a42ee1a7bf14ad56bb83d2b1c5 Reviewed-on: http://gerrit.cloudera.org:8080/4707 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins

          People

          • Assignee:
            alex.behm Alexander Behm
            Reporter:
            alex.behm Alexander Behm
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development