You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Sudheesh Katkam (JIRA)" <ji...@apache.org> on 2016/02/03 18:31:39 UTC

[jira] [Commented] (DRILL-4122) Create unit test suite for checking quality of hashing for hash based operators

    [ https://issues.apache.org/jira/browse/DRILL-4122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15130729#comment-15130729 ] 

Sudheesh Katkam commented on DRILL-4122:
----------------------------------------

[Skewness|http://mathworld.wolfram.com/Skewness.html] is another measure. This method could be implemented using a Drill UDAF based on the [online skewness algorithm|https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Higher-order_statistics]. The following query checks the skewness of 10^7 pseudorandom double values (between 0 inclusive and 1 exclusive):

{code}
WITH x AS (SELECT * FROM (VALUES 1,1,1,1,1,1,1,1,1,1) AS MyTable(key))
SELECT skewness(mod(abs(hash(random())), 10))
FROM x AS x1
INNER JOIN x AS x2 ON x2.key = x1.key
INNER JOIN x AS x3 ON x3.key = x2.key
INNER JOIN x AS x4 ON x4.key = x3.key
INNER JOIN x AS x5 ON x5.key = x4.key
INNER JOIN x AS x6 ON x6.key = x5.key
INNER JOIN x AS x7 ON x7.key = x6.key;
{code}

> Create unit test suite for checking quality of hashing for hash based operators
> -------------------------------------------------------------------------------
>
>                 Key: DRILL-4122
>                 URL: https://issues.apache.org/jira/browse/DRILL-4122
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>    Affects Versions: 1.3.0
>            Reporter: Aman Sinha
>            Assignee: Sudheesh Katkam
>
> We have encountered substantial skew in the hash based operators (hash distribution, hash aggregation, hash join) for certain data sets.  Two such issues are DRILL-2803, DRILL-4119.   
> It would be very useful to have a unit test suite to test the quality of hashing.  
> The number of combinations is large: num_data_types x nullability x num_hash_function_types (32bit, 64bit, AsDouble variations). Plus, the nature of the data itself.   We would have to be judicious about picking a reasonable subset of this space.   We should also look at open source test suites in this area. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)