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([消息])此函数会阻塞,直到同一阶段中的所有任务都到达此例程。
此任务已被尝试的次数。
barrier()设置一个全局屏障,并等待直到此阶段中的所有任务都到达此屏障。
cpus()分配给任务的CPU。
get()返回当前活动的
BarrierTaskContext。getLocalProperty(键)获取在驱动程序上游设置的本地属性,如果缺失则返回None。
getTaskInfos()返回此屏障阶段中所有任务的
BarrierTaskInfo,按分区ID排序。partitionId()此任务计算的RDD分区的ID。
resources()分配给任务的资源。
stageId()该任务所属阶段的ID。
一个在此任务尝试中唯一的ID(在同一个
SparkContext中,没有两个任务尝试会共享相同的尝试ID)。