[ 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