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

ASF GitHub Bot commented on FLINK-1297:
---------------------------------------

Github user tammymendt commented on the pull request:

    https://github.com/apache/flink/pull/605#issuecomment-127519735
  
    Hey! So I've been using and testing this code throughout my master thesis. 
Collecting count distinct makes jobs about 10% slower whereas collecting heavy 
hitters can make a job be 20 to 50% slower (depending on the algorithm and the 
distribution of the data). However this overhead is lower than that of using a 
histogram accumulator (not to mention the histogram might not fit in memory). I 
think it can be a nice addition to the code, specially since it does not affect 
any core components. 
    
    The version that I pushed now uses a bunch of conditionals to check which 
statistic is being collected. I know @fhueske did not really like this. I 
implemented another version which avoids the conditionals by using a different 
class for every type of statistic. I preferred to push this version though, 
since it has been more thoroughly tested.


> Add support for tracking statistics of intermediate results
> -----------------------------------------------------------
>
>                 Key: FLINK-1297
>                 URL: https://issues.apache.org/jira/browse/FLINK-1297
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Runtime
>            Reporter: Alexander Alexandrov
>            Assignee: Alexander Alexandrov
>             Fix For: 0.9
>
>   Original Estimate: 1,008h
>  Remaining Estimate: 1,008h
>
> One of the major problems related to the optimizer at the moment is the lack 
> of proper statistics.
> With the introduction of staged execution, it is possible to instrument the 
> runtime code with a statistics facility that collects the required 
> information for optimizing the next execution stage.
> I would therefore like to contribute code that can be used to gather basic 
> statistics for the (intermediate) result of dataflows (e.g. min, max, count, 
> count distinct) and make them available to the job manager.
> Before I start, I would like to hear some feedback form the other users.
> In particular, to handle skew (e.g. on grouping) it might be good to have 
> some sort of detailed sketch about the key distribution of an intermediate 
> result. I am not sure whether a simple histogram is the most effective way to 
> go. Maybe somebody would propose another lightweight sketch that provides 
> better accuracy.



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

Reply via email to