You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@datafu.apache.org by "Matthew Hayes (JIRA)" <ji...@apache.org> on 2016/04/06 02:35:25 UTC
[jira] [Commented] (DATAFU-117) New UDF - CountDistinctUpTo
[ https://issues.apache.org/jira/browse/DATAFU-117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15227447#comment-15227447 ]
Matthew Hayes commented on DATAFU-117:
--------------------------------------
Can you open a review board so it is easier to provide feedback?
Some feedback though:
* CountDistinctUpTo.java is missing the standard heading. You can run "gradle rat" to verify. This isn't automatically run, however it may be reasonable to do this. I'll file a JIRA for that.
* The documented order of parameters isn't consistent with implementation.
* If the input size isn't 2 it should throw an error.
* It's not clear to me why only the first element of the tuples within the bag is used.
* You should use "this.set.size() >= maxAmount" instead of "this.set.size() == maxAmount" to be safe.
* The condition "this.set.add(o) && (this.set.size() == maxAmount)" seems like it could caused the bag to exceed the max size.
* You should have a unit test that uses tuples of more than one element.
* You should have a unit test that calls the accumulate method multiple times. I think the lack of this is why the bug I mention above wasn't caught.
> New UDF - CountDistinctUpTo
> ---------------------------
>
> Key: DATAFU-117
> URL: https://issues.apache.org/jira/browse/DATAFU-117
> Project: DataFu
> Issue Type: New Feature
> Reporter: Eyal Allweil
> Attachments: DATAFU-117.patch
>
>
> A UDF that counts distinct tuples within a bag, but only up to a preset limit. If the bag contains more distinct tuples than the limit, the UDF returns the limit.
> This UDF can run reasonably well even on large bags if the limit chosen is small enough though the count is done in memory.
> We use this UDF in PayPal for filtering, when we don't need to use the actual tuples afterward.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)