python - Py4JJavaError:SparkException:作业因阶段失败而中止
问题描述
我通过 pyspark 使用 Spark。我正在运行以下玩具示例(在 Jupyter Notebook 中):
import findspark
findspark.init()
import pyspark
import random
sc = pyspark.SparkContext(appName="Pi")
num_samples = 10000
def inside(p):
x, y = random.random(), random.random()
return x*x + y*y < 1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)
sc.stop()
使用 num_samples = 100 或类似值时运行良好,但对于给定的数字,它返回有关 Python Workers 的错误:
Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 0.0 failed 1 times, most recent failure: Lost task 2.0 in stage 0.0 (TID 2, localhost, executor driver): org.apache.spark.SparkException: Python worker failed to connect back.
[...]
Caused by: org.apache.spark.SparkException: Python worker failed to connect back.
[...]
Caused by: java.net.SocketTimeoutException: Accept timed out
[...]
解决方案
推荐阅读
- typescript - 在 docker 中为 express 应用程序编译打字稿时出错
- spring - Spring Boot 应用程序的 Windows 身份验证
- android - Jackson databind InvalidFormatException:无法反序列化 org.threeten.bp.ZonedDateTime
- react-native - 如何使用 Share() 在 react-native 中共享应用程序的 URL 链接?
- python - 在没有 LED 灯的情况下在 opencv 中拍摄网络摄像头的快照
- vs-extensibility - 如何将按钮添加到代码上下文窗口中的现有组?
- python - 了解 scipy.interpolate 的 interpn 函数
- sql - 如何知道这个实体图是否正确规范化?有了下图,建一个简单的数据库就可以了吗?
- php - 如何通过默认值使用 PHP 将自动值插入(CMD)?
- c++ - 获取 clang-format 以通过两个空行分隔函数