pasteur.kedro.dataset.auto.AutoDataset#
- class pasteur.kedro.dataset.auto.AutoDataset(filepath, load_args=None, save_args=None, version=None, credentials=None, fs_args=None, metadata=None)[source]#
Modified kedro parquet dataset that acts similarly to a partitioned dataset and implements lazy loading.
In the future, this dataset will automatically handle pickling, pyarrow Tables, DataFrames, and Tensors automatically based on what is saved.
save() data can be a table, a callable, or a dictionary combination of both.
If its a table or a callable, this class acts exactly as ParquetDataset. If its a dictionary, each callable function is called and saved in parallel in a different parquet file, making the provided path a directory. Parallelism is achieved by using Pasteur’s common process pool.
load() returns a dictionary with parquet file names and callables that will load each one. In addition, load() will include an entry _all that will load and concatenate all partitions, with memory optimisations. If save() was called with a single dataframe/callable, then load() will return a callable instead. All callables can receive as input the columns they want to be loaded from the dataframe.
Attributes
Methods
exists()Checks whether a dataset's output already exists by calling the provided _exists() method.
from_config(name, config[, load_version, ...])Create a dataset instance using the configuration provided.
load()Loads data by delegation to the provided load method.
release()Release any cached data.
reset()Compute the version the dataset should be loaded with.
Compute the version the dataset should be saved with.
save(data)Saves data by delegation to the provided save method.
-
DEFAULT_LOAD_ARGS:
dict[str,Any] = {}#
-
DEFAULT_SAVE_ARGS:
dict[str,Any] = {'index': True}#
- exists()#
Checks whether a dataset’s output already exists by calling the provided _exists() method.
- Return type:
bool- Returns:
Flag indicating whether the output already exists.
- Raises:
DatasetError – when underlying exists method raises error.
- classmethod from_config(name, config, load_version=None, save_version=None)#
Create a dataset instance using the configuration provided.
- Parameters:
name (
str) – Data set name.config (
dict[str,Any]) – Data set config dictionary.load_version (
Optional[str]) – Version string to be used forloadoperation if the dataset is versioned. Has no effect on the dataset if versioning was not enabled.save_version (
Optional[str]) – Version string to be used forsaveoperation if the dataset is versioned. Has no effect on the dataset if versioning was not enabled.
- Return type:
AbstractDataset- Returns:
An instance of an
AbstractDatasetsubclass.- Raises:
DatasetError – When the function fails to create the dataset from its config.
- load()#
Loads data by delegation to the provided load method.
- Return type:
LazyDataset[DataFrame]- Returns:
Data returned by the provided load method.
- Raises:
DatasetError – When underlying load method raises error.
- release()#
Release any cached data.
- Raises:
DatasetError – when underlying release method raises error.
- Return type:
None
- resolve_load_version()#
Compute the version the dataset should be loaded with.
- Return type:
str|None
- resolve_save_version()#
Compute the version the dataset should be saved with.
- Return type:
str|None
- save(data)#
Saves data by delegation to the provided save method.
- Parameters:
data (
DataFrame) – the value to be saved by provided save method.- Raises:
DatasetError – when underlying save method raises error.
FileNotFoundError – when save method got file instead of dir, on Windows.
NotADirectoryError – when save method got file instead of dir, on Unix.
- Return type:
None
-
DEFAULT_LOAD_ARGS: