跳到内容

通道

名称 描述
BaseChannel

所有通道的基类。

BaseChannel

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

所有通道的基类。

方法

名称 描述
copy

返回通道的副本。

checkpoint

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

from_checkpoint

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

update

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

get

返回通道的当前值。

consume

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

is_available

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

属性

名称 类型 描述
ValueType 任意

存储在通道中的值的类型。

UpdateType 任意

通道接收的更新类型。

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

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

update abstractmethod

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

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

get abstractmethod

get() -> Value

返回通道的当前值。

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

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

is_available

is_available() -> bool

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

名称 描述
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

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType 任意

存储在通道中的值的类型。

UpdateType 任意

通道接收的更新类型。

ValueType property

ValueType: Any

存储在通道中的值的类型。

UpdateType property

UpdateType: Any

通道接收的更新类型。

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

copy

copy() -> Self

返回通道的副本。

LastValue

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

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

方法

名称 描述
consume

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

存储在通道中的值的类型。

UpdateType type[Value]

通道接收的更新类型。

ValueType property

ValueType: type[Value]

存储在通道中的值的类型。

UpdateType property

UpdateType: type[Value]

通道接收的更新类型。

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

copy

copy() -> Self

返回通道的副本。

EphemeralValue

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

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

方法

名称 描述
consume

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

存储在通道中的值的类型。

UpdateType type[Value]

通道接收的更新类型。

ValueType property

ValueType: type[Value]

存储在通道中的值的类型。

UpdateType property

UpdateType: type[Value]

通道接收的更新类型。

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

copy

copy() -> Self

返回通道的副本。

BinaryOperatorAggregate

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

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

import operator

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

方法

名称 描述
consume

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

存储在通道中的值的类型。

UpdateType type[Value]

通道接收的更新类型。

ValueType property

ValueType: type[Value]

存储在通道中的值的类型。

UpdateType property

UpdateType: type[Value]

通道接收的更新类型。

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

copy

copy() -> Self

返回通道的副本。

AnyValue

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

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

方法

名称 描述
consume

将通道的当前值标记为已消费。默认情况下,不执行任何操作。

copy

返回通道的副本。

属性

名称 类型 描述
ValueType type[Value]

存储在通道中的值的类型。

UpdateType type[Value]

通道接收的更新类型。

ValueType property

ValueType: type[Value]

存储在通道中的值的类型。

UpdateType property

UpdateType: type[Value]

通道接收的更新类型。

consume

consume() -> bool

将通道的当前值标记为已消费。默认情况下,不执行任何操作。此方法由 Pregel 在下一阶段开始前为所有触发节点的通道调用。如果通道已更新,则返回 True。

copy

copy() -> Self

返回通道的副本。

评论