通道¶
BaseChannel
¶
基类:
,
ValueType: Any
abstractmethod
property
¶
存储在通道中的值的类型。
UpdateType: Any
abstractmethod
property
¶
通道接收的更新的类型。
checkpoint() -> Optional[C]
¶
返回通道当前状态的可序列化表示。如果通道为空(从未更新)或不支持检查点,则引发 EmptyChannelError。
from_checkpoint(checkpoint: Optional[C]) -> Self
abstractmethod
¶
返回一个新的相同的通道,可以选择从检查点初始化。如果检查点包含复杂的数据结构,则应复制它们。
update(values: Sequence[Update]) -> bool
abstractmethod
¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。Pregel 在每个步骤结束时为所有通道调用此方法。如果没有更新,则使用空序列调用它。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
get() -> Value
abstractmethod
¶
返回通道的当前值。
如果通道为空(从未更新),则引发 EmptyChannelError。
consume() -> bool
¶
将通道的当前值标记为已使用。默认情况下,无操作。这是 Pregel 在下一步开始之前,为所有触发节点的通道调用的。如果通道已更新,则返回 True。
Topic
¶
基类:
,
可配置的 PubSub 主题。
参数
-
typ
(
) –Type [Value ]存储在通道中的值的类型。
-
accumulate
(
, default:bool False
) –是否跨步骤累积值。如果为 False,则通道将在每个步骤后清空。
LastValue
¶
基类:
,
存储接收到的最后一个值,每个步骤最多可以接收一个值。
EphemeralValue
¶
基类:
,
存储在上一步骤中接收到的值,之后清除。
BinaryOperatorAggregate
¶
基类:
,
存储将二元运算符应用于当前值和每个新值的结果。
AnyValue
¶
基类:
,
存储接收到的最后一个值,并假设如果接收到多个值,则它们都相等。