kedro.runner.ParallelRunner

class kedro.runner.ParallelRunner(max_workers=None, is_async=False, extra_dataset_patterns=None)[source]

ParallelRunnerAbstractRunner 的一个实现类。它可用于按拓扑排序形成的并行组来运行 Pipeline。请注意,该 runner 实现会使用 _validate_catalog 方法验证数据集,该方法通过 _SINGLE_PROCESS 数据集属性检查是否存在仅支持单进程的数据集。

方法

run(pipeline, catalog[, hook_manager, ...])

使用catalog提供的数据集运行Pipeline,并将结果保存回相同的对象。

run_only_missing(pipeline, catalog, hook_manager)

仅运行Pipeline中缺失的输出,使用catalog提供的数据集,并将结果保存回相同的对象。

__init__(max_workers=None, is_async=False, extra_dataset_patterns=None)[source]

通过创建管理器来实例化运行器。

Parameters:
  • max_workers (int | None) – 要生成的worker进程数量。如果未设置, 将根据流水线配置和CPU核心数自动计算。在Windows机器上, max_workers值不能大于61,并将被设置为min(61, max_workers)。

  • is_async (bool) – 如果为True,节点输入和输出将通过线程异步加载和保存。默认为False。

  • extra_dataset_patterns (dict[str, dict[str, Any]] | None) – 在运行期间要添加到目录中的额外数据集工厂模式。这用于将默认数据集设置为SharedMemoryDataset以便ParallelRunner使用。

Raises:

ValueError – 传入了无效参数

run(pipeline, catalog, hook_manager=None, session_id=None)[source]

使用catalog提供的数据集运行Pipeline,并将结果保存回相同的对象。

Parameters:
  • pipeline (Pipeline) – 要运行的Pipeline

  • catalog (CatalogProtocol) – 一个已实现的CatalogProtocol实例,用于获取数据。

  • hook_manager (PluginManager | None) – 用于激活钩子的PluginManager

  • session_id (str | None) – 会话的ID。

Raises:

ValueError – 当Pipeline的输入无法满足时引发。

Return type:

dict[str, Any]

Returns:

任何无法通过目录处理的节点输出。这些输出将以字典形式返回,其中键由节点输出定义。

run_only_missing(pipeline, catalog, hook_manager)[source]

仅运行Pipeline中缺失的输出,使用catalog提供的数据集,并将结果保存回相同的对象。

Parameters:
  • pipeline (Pipeline) – 要运行的Pipeline

  • catalog (CatalogProtocol) – 一个已实现的CatalogProtocol实例,用于获取数据。

  • hook_manager (PluginManager) – 用于激活钩子的PluginManager

Raises:

ValueError – 当Pipeline输入无法满足时引发。

Return type:

dict[str, Any]

Returns:

任何无法通过目录处理的节点输出。这些输出将以字典形式返回,其中键由节点输出定义。