kedro.runner.ThreadRunner

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

ThreadRunnerAbstractRunner 的一个实现类。它可用于通过线程并行运行由拓扑排序形成的 Pipeline 分组。

方法

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核心数自动计算。

  • is_async (bool) – 如果为True,则设置为False,因为ThreadRunner不支持使用线程异步加载和保存节点的输入和输出。默认为False。

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

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:

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