kedro.io.Lambda数据集

class kedro.io.LambdaDataset(load, save, exists=None, release=None, metadata=None)[source]

LambdaDataset 负责加载和保存数据到数据集。它依赖于委托给具体的实现方式,例如csv、sql等。

LambdaDataset 类在对其组合的 Dataset 实现执行操作时会捕获异常。组合的数据集需负责在可能的情况下提供解决问题的信息。这些信息应通过 str(error) 提供。

示例:

from kedro.io import LambdaDataset
import pandas as pd

file_name = "test.csv"
def load() -> pd.DataFrame:
    raise FileNotFoundError("'{}' csv file not found."
                            .format(file_name))
dataset = LambdaDataset(load, None)

方法

exists()

通过调用提供的_exists()方法检查数据集输出是否已存在。

from_config(name, config[, load_version, ...])

使用提供的配置创建一个数据集实例。

load()

通过委托提供的加载方法来加载数据。

release()

释放所有缓存数据。

save(data)

通过委托给提供的保存方法来保存数据。

to_config()

将数据集实例转换为基于字典的配置以便序列化。

__init__(load, save, exists=None, release=None, metadata=None)[source]

创建一个新的LambdaDataset实例,并引用所需的输入/输出数据集方法。

Parameters:
  • load (Callable[[], Any] | None) – 从数据集加载数据的方法。

  • save (Callable[[Any], None] | None) – 将数据保存到数据集的方法。

  • exists (Callable[[], bool] | None) – 用于检查输出数据是否已存在的方法。

  • release (Callable[[], None] | None) – 用于释放任何缓存信息的方法。

  • metadata (dict[str, Any] | None) – 任意元数据。 Kedro会忽略此字段,但用户或外部插件可能会使用。

Raises:

DatasetError – 如果指定了方法,但该方法不可调用。

exists()[source]

通过调用提供的_exists()方法检查数据集输出是否已存在。

Return type:

bool

Returns:

标志,指示输出是否已存在。

Raises:

DatasetError – 当底层exists方法引发错误时。

classmethod from_config(name, config, load_version=None, save_version=None)[source]

使用提供的配置创建一个数据集实例。

Parameters:
  • name (str) – 数据集名称。

  • config (dict[str, Any]) - 数据集配置字典。

  • load_version (str | None) – 如果数据集已启用版本控制,则用于load操作的版本字符串。如果未启用版本控制,则对数据集无影响。

  • save_version (str | None) – 如果数据集启用了版本控制,则用于save操作的版本字符串。如果未启用版本控制,则对数据集无影响。

Return type:

AbstractDataset

Returns:

AbstractDataset 子类的一个实例。

Raises:

DatasetError – 当函数无法从其配置创建数据集时。

load()[source]

通过委托提供的加载方法来加载数据。

Return type:

Any

Returns:

由提供的加载方法返回的数据。

Raises:

DatasetError – 当底层加载方法引发错误时。

release()[source]

释放所有缓存数据。

Raises:

DatasetError – 当底层释放方法引发错误时。

Return type:

None

save(data)[source]

通过委托给提供的保存方法来保存数据。

Parameters:

data (Any) – 需要通过提供的保存方法保存的值。

Raises:
  • DatasetError – 当底层保存方法引发错误时。

  • FileNotFoundError – 当保存方法在Windows系统上获取到的是文件而非目录时抛出该错误。

  • NotADirectoryError – 当保存方法在Unix系统上获取到文件而非目录时抛出。

Return type:

None

to_config()[source]

将数据集实例转换为基于字典的配置以便序列化。确保处理任何子类特定的细节,并为CachedDataset实现了版本控制和缓存的额外逻辑。

使用数据集的模块和类名添加一个键来表示其类型,并包含初始化参数。

对于CachedDataset,它会提取底层数据集的配置, 处理versioned标志并移除不必要的元数据。同时 确保嵌入式数据集的配置被适当地扁平化 或转换。

如果数据集有版本键,它会在配置中设置versioned标志。

如果存在,则从配置中移除metadata键。

Return type:

dict[str, Any]

Returns:

一个包含数据集类型和初始化参数的字典。