如何从EMR从属节点上运行的mapPartitions中杀死所有Spark进程?

时间:2019-05-03 15:16:49

标签: python apache-spark pyspark amazon-emr

我们在EMR集群中运行pyspark,并在一个数据帧中拥有约5000万条记录。每个接口都需要从API添加到其中的字段,该API一次接受100条记录(因此,请求总数约为500k)。我们可以将它们拆分并成功进行API调用,但是偶尔会受到速率的限制。发生这种情况时,进程将继续发送请求,所有请求均返回相同的速率限制响应。因此,当发生这种情况时,我们希望完全停止来自所有从属节点的所有请求并终止该作业。

我们已经缩减了群集的大小,以帮助避免此问题,但是由于响应时间并不总是一致的,因此如果我们已经限制了速率,我们需要一种方法来退出并停止发送请求。

我们在数据框上使用mapPartitions(),并在其中调用API。

我正在寻找mapPartitions()所调用的函数中停止所有从属节点上的所有进程的方法,以便每当我们第一次注意到速率受到限制时,所有API调用都会停止。

0 个答案:

没有答案