通道¶
类
名称 | 描述 |
---|---|
BaseChannel |
所有通道的基类。 |
BaseChannel ¶
Bases: Generic[Value, Update, Checkpoint]
, ABC
所有通道的基类。
方法
名称 | 描述 |
---|---|
copy |
返回通道的副本。 |
checkpoint |
返回通道当前状态的可序列化表示。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点初始化。 |
获取 |
返回通道的当前值。 |
is_available |
如果通道可用(非空)则返回 True,否则返回 False。 |
更新 |
使用给定的更新序列更新通道的值。 |
consume |
通知通道一个已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
属性
名称 | 类型 | 描述 |
---|---|---|
ValueType |
Any
|
通道中存储的值的类型。 |
更新类型 |
Any
|
通道接收到的更新的类型。 |
checkpoint ¶
checkpoint() -> Checkpoint | Any
返回通道当前状态的可序列化表示。如果通道为空(从未更新过)或不支持检查点,则引发 EmptyChannelError。
from_checkpoint abstractmethod
¶
from_checkpoint(checkpoint: Checkpoint | Any) -> Self
返回一个新的相同通道,可以选择从检查点初始化。如果检查点包含复杂的数据结构,则应将其复制。
is_available ¶
is_available() -> bool
如果通道可用(不为空),则返回 True,否则返回 False。子类应覆盖此方法以提供比调用 get() 并捕获 EmptyChannelError 更高效的实现。
update abstractmethod
¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会为所有通道调用此方法。如果没有更新,则使用空序列调用它。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
类
名称 | 描述 |
---|---|
Topic |
一个可配置的发布/订阅(PubSub)主题。 |
LastValue |
存储接收到的最后一个值,每步最多只能接收一个值。 |
EphemeralValue |
存储紧接着上一步收到的值,之后清除。 |
BinaryOperatorAggregate |
存储将二元运算符应用于当前值和每个新值的结果。 |
AnyValue |
存储接收到的最后一个值,假设如果收到多个值, |
Topic ¶
Bases: 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
|
通道中存储的值的类型。 |
更新类型 |
Any
|
通道接收到的更新的类型。 |
LastValue ¶
Bases: Generic[Value]
, BaseChannel[Value, Value, Value]
存储接收到的最后一个值,每步最多只能接收一个值。
方法
名称 | 描述 |
---|---|
consume |
通知通道一个已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
属性
名称 | 类型 | 描述 |
---|---|---|
ValueType |
type[Value]
|
通道中存储的值的类型。 |
更新类型 |
type[Value]
|
通道接收到的更新的类型。 |
EphemeralValue ¶
Bases: Generic[Value]
, BaseChannel[Value, Value, Value]
存储紧接着上一步收到的值,之后清除。
方法
名称 | 描述 |
---|---|
consume |
通知通道一个已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
属性
名称 | 类型 | 描述 |
---|---|---|
ValueType |
type[Value]
|
通道中存储的值的类型。 |
更新类型 |
type[Value]
|
通道接收到的更新的类型。 |
BinaryOperatorAggregate ¶
Bases: Generic[Value]
, BaseChannel[Value, Value, Value]
存储将二元运算符应用于当前值和每个新值的结果。
方法
名称 | 描述 |
---|---|
consume |
通知通道一个已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
属性
名称 | 类型 | 描述 |
---|---|---|
ValueType |
type[Value]
|
通道中存储的值的类型。 |
更新类型 |
type[Value]
|
通道接收到的更新的类型。 |
AnyValue ¶
Bases: Generic[Value]
, BaseChannel[Value, Value, Value]
存储接收到的最后一个值,假设如果收到多个值,它们都相等。
方法
名称 | 描述 |
---|---|
consume |
通知通道一个已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
属性
名称 | 类型 | 描述 |
---|---|---|
ValueType |
type[Value]
|
通道中存储的值的类型。 |
更新类型 |
type[Value]
|
通道接收到的更新的类型。 |