Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x org.apache.spark.sparkeexception:由于阶段失败,作业中止_Python 3.x_Pyspark_Amazon Emr - Fatal编程技术网

Python 3.x org.apache.spark.sparkeexception:由于阶段失败,作业中止

Python 3.x org.apache.spark.sparkeexception:由于阶段失败,作业中止,python-3.x,pyspark,amazon-emr,Python 3.x,Pyspark,Amazon Emr,执行我的spark作业时出错。它正在处理大约1000万条记录。我正在aws emr 5节点集群上执行。我在比较两个文件。每个文件都有500万条记录。并从S3访问这些文件。我的实例类型是:m4.2xlarge 尝试使用以下命令: spark submit test-script.py——驱动程序内存2G——num executors 4——executor cores 4——executor内存4G 错误日志: py4j.protocol.Py4JJavaError:调用o210.collectT

执行我的spark作业时出错。它正在处理大约1000万条记录。我正在aws emr 5节点集群上执行。我在比较两个文件。每个文件都有500万条记录。并从S3访问这些文件。我的实例类型是:m4.2xlarge

尝试使用以下命令:

spark submit test-script.py——驱动程序内存2G——num executors 4——executor cores 4——executor内存4G

错误日志: py4j.protocol.Py4JJavaError:调用o210.collectToPython时出错。 :org.apache.spark.SparkException:作业因阶段失败而中止:780个任务(1031.6 MB)的序列化结果的总大小大于spark.driver.maxResultSize(1024.0 MB) 位于org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1753) 位于org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1741) 位于org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1740) 位于scala.collection.mutable.resizeblearray$class.foreach(resizeblearray.scala:59) 位于scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) 位于org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1740) 位于org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:871) 位于org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:871) 位于scala.Option.foreach(Option.scala:257) 位于org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:871) 位于org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1974) 位于org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1923) 位于org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1912) 位于org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48) 位于org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:682) 位于org.apache.spark.SparkContext.runJob(SparkContext.scala:2034) 位于org.apache.spark.SparkContext.runJob(SparkContext.scala:2055) 位于org.apache.spark.SparkContext.runJob(SparkContext.scala:2074) 位于org.apache.spark.SparkContext.runJob(SparkContext.scala:2099) 位于org.apache.spark.rdd.rdd$$anonfun$collect$1.apply(rdd.scala:939) 位于org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151) 位于org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) 位于org.apache.spark.rdd.rdd.withScope(rdd.scala:363) 位于org.apache.spark.rdd.rdd.collect(rdd.scala:938) 位于org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:297) 在org.apache.spark.sql.Dataset$$anonfun$collectToPython$1.apply(Dataset.scala:3195)上 在org.apache.spark.sql.Dataset$$anonfun$collectToPython$1.apply(Dataset.scala:3192)上 位于org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3254) 位于org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77) 位于org.apache.spark.sql.Dataset.withAction(Dataset.scala:3253) 位于org.apache.spark.sql.Dataset.collectToPython(Dataset.scala:3192) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) 位于py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) 在py4j.Gateway.invoke处(Gateway.java:282) 位于py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) 在py4j.commands.CallCommand.execute(CallCommand.java:79) 在py4j.GatewayConnection.run处(GatewayConnection.java:238)
在java.lang.Thread.run(Thread.java:748)

上有很多关于这个错误的帖子:例如,我已经浏览了所有这些链接,但问题仍然没有解决。这就是新问题出现的原因。无论如何,谢谢你在这方面花时间。我也在调查这件事,以防有任何更新。我会分享的。我也尝试了10节点的EMR集群。还是同样的问题。我建议您尝试使用“r4.8xlarge”实例,方法是将EFS卷传递为300多个Gig,并且--驱动程序内存16G--驱动程序内核4--执行器内存12G