[jira] [Commented] (SPARK-9599) Dynamic partitioning based on key-distribution

2015-08-04 Thread Sean Owen (JIRA)

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

Sean Owen commented on SPARK-9599:
--

For example, in the case of groupByKey, how would anything know a key mapped to 
many values before performing a shuffle anyway?

 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



[jira] [Commented] (SPARK-9599) Dynamic partitioning based on key-distribution

2015-08-04 Thread JIRA

[ 
https://issues.apache.org/jira/browse/SPARK-9599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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