pyspark.BarrierTaskContext

class pyspark. BarrierTaskContext [source]

一个带有额外上下文信息和工具的 TaskContext ,用于屏障阶段的任务。 使用 BarrierTaskContext.get() 来获取正在运行的屏障任务的屏障上下文。

新增于版本 2.4.0。

注释

此API为实验性

示例

设置一个屏障,并使用RDD执行它。

>>> from pyspark import BarrierTaskContext
>>> def block_and_do_something(itr):
...     taskcontext = BarrierTaskContext.get()
...     # Do something.
...
...     # Wait until all tasks finished.
...     taskcontext.barrier()
...
...     return itr
...
>>> rdd = spark.sparkContext.parallelize([1])
>>> rdd.barrier().mapPartitions(block_and_do_something).collect()
[1]

方法

allGather ([消息])

此函数会阻塞,直到同一阶段中的所有任务都到达此例程。

attemptNumber ()

此任务已被尝试的次数。

barrier ()

设置一个全局屏障,并等待直到此阶段中的所有任务都到达此屏障。

cpus ()

分配给任务的CPU。

get ()

返回当前活动的 BarrierTaskContext

getLocalProperty (键)

获取在驱动程序上游设置的本地属性,如果缺失则返回None。

getTaskInfos ()

返回此屏障阶段中所有任务的 BarrierTaskInfo ,按分区ID排序。

partitionId ()

此任务计算的RDD分区的ID。

resources ()

分配给任务的资源。

stageId ()

该任务所属阶段的ID。

taskAttemptId ()

一个在此任务尝试中唯一的ID(在同一个 SparkContext 中,没有两个任务尝试会共享相同的尝试ID)。