我正在使用spark数据帧处理大型查询,并且需要很长时间才能完成。在我研究活动阶段时,spark正在处理多个阶段。我只是想知道是否存在将运行/活动阶段数设置为1的配置,以使火花处理将重点放在1个活动阶段上。
答案 0 :(得分:0)
为此,您需要了解Spark如何按阶段拆分作业以及如何处理作业。
一个spark应用程序内的所有阶段将顺序运行。它是DAG图,每个阶段都取决于其父级。因此,如果要同时运行多个任务(作业),则必须将作业拆分为不同的应用程序,然后分别提交。
任何导致在节点之间重新分配数据的事物都将创建一个新的阶段。因此,如果需要一个阶段的应用程序,则需要限制节点之间数据的重新分区(也许如前所述,将作业拆分为不同的应用程序,或者重写某些逻辑以减少数据混排)。