apache-spark - 为什么 Spark 将所有任务发送给两个执行器?
问题描述
这是情况的图片:
我的代码:
rdd = spark.read.format("avro").load(paths).rdd.repartition(160).flatMap(parse_source_data).repartition(20)
parse_source_data
是一个昂贵的 Python 函数,它映射到所有数据。正如预期的那样,我看到了 160 个总任务。Spark 声称正如预期的那样,有 80 个同时运行。但实际上,似乎所有任务都由两个执行者运行。
有人有想法么?
解决方案
我正在为工人创建一个 SparkContext。这阻止了工人被用于实际工作。
推荐阅读
- json - 安排从 Google Cloud Storage 到 BigQuery 的传输
- python - Xpath - 我什至只得到 1 个元素 - 检查器工具显示 7
- python - Python 和 pandas:如何使用 df.loc 根据条件创建新列?
- c# - IIS 停止并出现错误消息“HTTP 错误 503。服务不可用”
- r - 如何在闪亮的 r 中使用条件面板()
- swift - Xcode - 向 .gitignore 添加条目不起作用
- angular - 角度对话框问题
- csv - BigQuery 错误从云存储传输 csv
- ruby-on-rails - Sprockets::FileNotFound: 将 Rails 6 应用程序部署到 Heroku 时找不到类型为“text/scss”的文件“jquery-ui”
- rdp - RDP如何显示无头服务器的屏幕?