kedro.io.AbstractDataset¶
- class kedro.io.AbstractDataset[source]¶
AbstractDataset是所有数据集实现的基类。所有数据集实现都应继承此抽象类并实现标记为抽象的方法。如果特定数据集实现无法与
ParallelRunner结合使用,此类用户自定义数据集应具有属性_SINGLE_PROCESS = True。示例如下:from pathlib import Path, PurePosixPath import pandas as pd from kedro.io import AbstractDataset class MyOwnDataset(AbstractDataset[pd.DataFrame, pd.DataFrame]): def __init__(self, filepath, param1, param2=True): self._filepath = PurePosixPath(filepath) self._param1 = param1 self._param2 = param2 def load(self) -> pd.DataFrame: return pd.read_csv(self._filepath) def save(self, df: pd.DataFrame) -> None: df.to_csv(str(self._filepath)) def _exists(self) -> bool: return Path(self._filepath.as_posix()).exists() def _describe(self): return dict(param1=self._param1, param2=self._param2)
示例 catalog.yml 规范:
my_dataset: type: <path-to-my-own-dataset>.MyOwnDataset filepath: data/01_raw/my_data.csv param1: <param1-value> # param1 is a required argument # param2 will be True by default
方法
exists()通过调用提供的_exists()方法检查数据集输出是否已存在。
from_config(name, config[, load_version, ...])使用提供的配置创建一个数据集实例。
load()通过委托提供的加载方法来加载数据。
release()释放所有缓存数据。
save(data)通过委托给提供的保存方法来保存数据。
将数据集实例转换为基于字典的配置以便序列化。
- exists()[source]¶
通过调用提供的_exists()方法检查数据集输出是否已存在。
- Return type:
- Returns:
标志,指示输出是否已存在。
- Raises:
DatasetError – 当底层exists方法引发错误时。
- classmethod from_config(name, config, load_version=None, save_version=None)[source]¶
使用提供的配置创建一个数据集实例。
- Parameters:
- Return type:
- Returns:
AbstractDataset子类的一个实例。- Raises:
DatasetError – 当函数无法从其配置创建数据集时。
- abstract load()[source]¶
通过委托提供的加载方法来加载数据。
- Return type:
TypeVar(_DO)- Returns:
由提供的加载方法返回的数据。
- Raises:
DatasetError – 当底层加载方法引发错误时。
- release()[source]¶
释放所有缓存数据。
- Raises:
DatasetError – 当底层释放方法引发错误时。
- Return type:
- abstract save(data)[source]¶
通过委托给提供的保存方法来保存数据。
- Parameters:
data (
TypeVar(_DI)) – 要通过提供的保存方法保存的值。- Raises:
DatasetError – 当底层保存方法引发错误时。
FileNotFoundError – 当保存方法在Windows系统上获取到的是文件而非目录时抛出该错误。
NotADirectoryError – 当保存方法在Unix系统上获取到文件而非目录时抛出。
- Return type: