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)