gpt4 book ai didi

exception - Apache Spark 任务不可序列化

转载 作者:行者123 更新时间:2023-12-04 01:03:03 25 4
gpt4 key购买 nike

我意识到以前有人问过这个问题,但我认为我的失败是由于不同的原因。

            List<Tuple2<String, Integer>> results = results.collect();
for (int i=0; i<results.size(); i++) {
System.out.println(results.get(0)._1);
}


Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task not serializable: java.io.NotSerializableException: tools.MAStreamProcessor$1 at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1214) at

我在 Spark 中有一个简单的“map/reduce”程序。上面几行采用了 reduce 步骤的结果并循环遍历每个结果元素。如果我将它们注释掉,那么我就不会出错。我远离使用 'forEach' 或简明的 for () 认为底层生成的元素是不可序列化的。我已经把它归结为一个简单的 for 循环,所以想知道为什么我仍然遇到这个错误。

谢谢,
兰 git

最佳答案

使用 -Dsun.io.serialization.extendedDebugInfo=true用于打开序列化调试日志记录的标志。它会告诉你究竟是什么无法序列化。

答案与您粘贴的行无关。 collect不是问题的根源,它只是触发 RDD 计算的原因。如果您不计算 RDD,则不会向执行程序发送任何内容。因此,在没有 collect 的情况下,在较早的步骤中意外包含不可序列化的内容不会导致任何问题。 .

关于exception - Apache Spark 任务不可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com