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

Implement ds_kll_cdf() function

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Impala 4.0.0
    • Backend, Frontend
    • None

    Description

      Requirements for ds_kll_cdf() (Cumulative Distribution Function):

      • Receives a serialized KLL sketch in BINARY type (in Impala it can be STRING as long as we don't have BINARY) as first parameter.
      • Receives one or more float values to create ranges from the sketched data.
      • In Hive the return type is an array of doubles. However, Impala can't return complex types from functions at this point so we have to find some alternative approaches to implement this function. Follow whatever solution came up inĀ https://issues.apache.org/jira/browse/IMPALA-9962

      An example:

      select ds_kll_cdf(sketch_col, 1, 2, 3, 4) from sketches_table;
      

      This will generate the following ranges: (-inf, 1), (-inf,2), (-inf,3), (-inf,4), (-inf,+inf)
      In Hive, the result would have an array of 5 doubles for the 5 ranges, where each number gives the probability between [0,1] that an item will fall into the particular range. Or in other words a ratio of items belonging to that range.

      Taking input values such as: 1,2,3,4,5

      select ds_kll_cdf(f, 1, 3, 4, 5, 10) from kll_sketches;
      +----------------------------+
      |            _c0             |
      +----------------------------+
      | [0.0,0.4,0.6,0.8,1.0,1.0]  |
      +----------------------------+
      

      Attachments

        Activity

          People

            gaborkaszab Gabor Kaszab
            gaborkaszab Gabor Kaszab
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: