0

这可能是一个非常笼统的问题,但希望有人能指出一些提示。但我发现有时,我的工作火花似乎多次“停顿”:

这项工作的本质是:读取 orc 文件(从 hive 表中),按某些列过滤,不连接,然后写出到另一个 hive 表。

我的工作/阶段总共有 64K 任务(FileScan orc,其次是 Filter、Project)。

该应用程序有 500 个执行器,每个执行器有 4 个核心。最初,大约有 2000 个任务同时运行,情况看起来不错。

过了一会儿,我注意到运行任务的数量一直下降到接近 100 个。许多核心/执行程序只是无所事事地等待。(我检查了这些等待执行者的日志,没有错误。所有分配的任务都在他们身上完成,他们只是在等待)

大约 3-5 分钟后,这些等待的执行者突然得到了任务分配,现在正在愉快地工作。

这可能是什么特殊原因?该应用程序从 spark-shell 运行(--master yarn --deploy-mode 客户端,指定了执行器/大小等的数量)

谢谢!

4

0 回答 0