跳到内容

通道

名称 描述
BaseChannel

所有通道的基类。

BaseChannel

基类: Generic[Value, Update, C], ABC

所有通道的基类。

方法

名称 描述
copy

返回通道的副本。

checkpoint

返回通道当前状态的可序列化表示。

from_checkpoint

返回一个新的相同通道,可选择从检查点初始化。

get

返回通道的当前值。

is_available

如果通道可用(非空),则返回 True,否则返回 False。

update

使用给定的更新序列更新通道的值。

consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

属性

名称 类型 描述
ValueType Any

通道中存储值的类型。

UpdateType Any

通道接收更新的类型。

ValueType abstractmethod property

ValueType: Any

通道中存储值的类型。

UpdateType abstractmethod property

UpdateType: Any

通道接收更新的类型。

copy

copy() -> Self

返回通道的副本。默认情况下,委托给 checkpoint() 和 from_checkpoint()。子类可以用更高效的实现覆盖此方法。

checkpoint

checkpoint() -> C

返回通道当前状态的可序列化表示。如果通道为空(尚未更新)或不支持检查点,则引发 EmptyChannelError。

from_checkpoint abstractmethod

from_checkpoint(checkpoint: C) -> Self

返回一个新的相同通道,可选择从检查点初始化。如果检查点包含复杂数据结构,则应复制它们。

get abstractmethod

get() -> Value

返回通道的当前值。

如果通道为空(尚未更新),则引发 EmptyChannelError。

is_available

is_available() -> bool

如果通道可用(非空),则返回 True,否则返回 False。子类应覆盖此方法以提供比调用 get() 和捕获 EmptyChannelError 更高效的实现。

update abstractmethod

update(values: Sequence[Update]) -> bool

使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。Pregel 在每个步骤结束时为所有通道调用此方法。如果没有更新,则使用空序列调用。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

名称 描述
Topic

一个可配置的 PubSub 主题。

LastValue

存储接收到的最后一个值,每步最多接收一个值。

EphemeralValue

存储紧邻前一步骤中接收到的值,之后清除。

BinaryOperatorAggregate

存储将二元运算符应用于当前值和每个新值的结果。

AnyValue

存储接收到的最后一个值,假设如果存在多个值

Topic

基类: Generic[Value], BaseChannel[Sequence[Value], Union[Value, list[Value]], list[Value]]

一个可配置的 PubSub 主题。

参数

名称 类型 描述 默认值
typ type[Value]

通道中存储值的类型。

必需
accumulate bool

是否在步骤之间累积值。如果为 False,通道将在每一步后清空。

False

方法

名称 描述
consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType Any

通道中存储值的类型。

UpdateType Any

通道接收更新的类型。

ValueType property

ValueType: Any

通道中存储值的类型。

UpdateType property

UpdateType: Any

通道接收更新的类型。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

copy

copy() -> Self

返回通道的副本。

LastValue

基类: Generic[Value], BaseChannel[Value, Value, Value]

存储接收到的最后一个值,每步最多接收一个值。

方法

名称 描述
consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

通道中存储值的类型。

UpdateType type[Value]

通道接收更新的类型。

ValueType property

ValueType: type[Value]

通道中存储值的类型。

UpdateType property

UpdateType: type[Value]

通道接收更新的类型。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

copy

copy() -> Self

返回通道的副本。

EphemeralValue

基类: Generic[Value], BaseChannel[Value, Value, Value]

存储紧邻前一步骤中接收到的值,之后清除。

方法

名称 描述
consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

通道中存储值的类型。

UpdateType type[Value]

通道接收更新的类型。

ValueType property

ValueType: type[Value]

通道中存储值的类型。

UpdateType property

UpdateType: type[Value]

通道接收更新的类型。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

copy

copy() -> Self

返回通道的副本。

BinaryOperatorAggregate

基类: Generic[Value], BaseChannel[Value, Value, Value]

存储将二元运算符应用于当前值和每个新值的结果。

import operator

total = Channels.BinaryOperatorAggregate(int, operator.add)

方法

名称 描述
consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

通道中存储值的类型。

UpdateType type[Value]

通道接收更新的类型。

ValueType property

ValueType: type[Value]

通道中存储值的类型。

UpdateType property

UpdateType: type[Value]

通道接收更新的类型。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

copy

copy() -> Self

返回通道的副本。

AnyValue

基类: Generic[Value], BaseChannel[Value, Value, Value]

存储接收到的最后一个值,假设如果接收到多个值,它们都是相等的。

方法

名称 描述
consume

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

finish

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

通道中存储值的类型。

UpdateType type[Value]

通道接收更新的类型。

ValueType property

ValueType: type[Value]

通道中存储值的类型。

UpdateType property

UpdateType: type[Value]

通道接收更新的类型。

consume

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值再次被消费。

如果通道已更新,则返回 True,否则返回 False。

finish

finish() -> bool

通知通道 Pregel 运行即将结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,以防止完成。

如果通道已更新,则返回 True,否则返回 False。

copy

copy() -> Self

返回通道的副本。