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

Zoltán Zvara commented on SPARK-9599:
-------------------------------------

What I can think of is a new, guided partitioning in case when an in-progress 
shuffle write indicates that a few buckets will raise on OOM error with high 
probability, or will result in a very slow execution in case the user-operator 
on grouped keys is expensive. In other words, you might not get an OOM, but a 
few very slow tasks.

My first idea is to track the distribution of keys while shuffle-write is in 
progress. When we identify that with high probability there will be an OOM or a 
very slow execution, just use the currently captured key-distribution to 
construct a new partitioner that would partition evenly.

> Dynamic partitioning based on key-distribution
> ----------------------------------------------
>
>                 Key: SPARK-9599
>                 URL: https://issues.apache.org/jira/browse/SPARK-9599
>             Project: Spark
>          Issue Type: Improvement
>          Components: Shuffle, Spark Core
>    Affects Versions: 1.4.1
>            Reporter: Zoltán Zvara
>
> When - for example - using {{groupByKey}} operator with default 
> {{HashPartitioner}}, there might be a case when heavy keys get partitioned 
> into the same bucket, later raising an OOM error at the result partition. A 
> domain-based partitioner might not be able to help, when the outstanding 
> key-distribution changes from time to time (for example while dealing with 
> data streams).
> Spark should identify these situations and change the partitioning 
> accordingly when a partitioning would raise an OOM later.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to