You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Michael Wu (JIRA)" <ji...@apache.org> on 2019/05/28 13:41:00 UTC
[jira] [Commented] (SPARK-15060) Fix stack overflow when executing
long lineage transform without checkpoint
[ https://issues.apache.org/jira/browse/SPARK-15060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16849732#comment-16849732 ]
Michael Wu commented on SPARK-15060:
------------------------------------
I'm late to the party but have you tried using `localCheckpoint` instead of `checkpoint`? It _should_ be faster at the cost of not being fault-tolerant in the case of executor failure / pre-emption.
> Fix stack overflow when executing long lineage transform without checkpoint
> ---------------------------------------------------------------------------
>
> Key: SPARK-15060
> URL: https://issues.apache.org/jira/browse/SPARK-15060
> Project: Spark
> Issue Type: Improvement
> Components: Spark Core
> Affects Versions: 1.5.2, 1.6.1, 2.0.0
> Reporter: Zheng Tan
> Priority: Major
> Labels: bulk-closed
>
> When executing long linage rdd transform, it is easy to get stack overflow exception in driver end. This can be reproduced by the following example:
> var rdd = sc.makeRDD(1 to 10, 10)
> for (_ <- 1 to 1000) {
> rdd = rdd.map(x => x)
> }
> rdd.reduce(_ + _)
> SPARK-5955 solve this problem by checkpointing rdd for every 10~20 rounds. It is not so convenient since it required checkpointing data to HDFS.
> Another solution is cutting off the recursive rdd dependencies in driver end and re-assembly them in executor end.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org