class documentation
class JSONDataSet(AbstractVersionedDataSet[
Known subclasses: kedro.extras.datasets.tracking.JSONDataSet
, kedro.extras.datasets.tracking.MetricsDataSet
JSONDataSet loads/saves data from/to a JSON file using an underlying filesystem (e.g.: local, S3, GCS). It uses native json to handle the JSON file.
Example usage for the YAML API:
cars:
type: json.JSONDataSet
filepath: gcs://your_bucket/cars.json
fs_args:
project: my-project
credentials: my_gcp_credentials
Example usage for the Python API:
>>> from kedro.extras.datasets.json import JSONDataSet >>> >>> data = {'col1': [1, 2], 'col2': [4, 5], 'col3': [5, 6]} >>> >>> data_set = JSONDataSet(filepath="test.json") >>> data_set.save(data) >>> reloaded = data_set.load() >>> assert data == reloaded
Method | __init__ |
Creates a new instance of JSONDataSet pointing to a concrete JSON file on a specific filesystem. |
Constant | DEFAULT |
Undocumented |
Method | _describe |
Undocumented |
Method | _exists |
Undocumented |
Method | _invalidate |
Invalidate underlying filesystem caches. |
Method | _load |
Undocumented |
Method | _release |
Undocumented |
Method | _save |
Undocumented |
Instance Variable | _fs |
Undocumented |
Instance Variable | _fs |
Undocumented |
Instance Variable | _fs |
Undocumented |
Instance Variable | _protocol |
Undocumented |
Instance Variable | _save |
Undocumented |
Inherited from AbstractVersionedDataSet
:
Method | exists |
Checks whether a data set's output already exists by calling the provided _exists() method. |
Method | load |
Loads data by delegation to the provided load method. |
Method | resolve |
Compute the version the dataset should be loaded with. |
Method | resolve |
Compute the version the dataset should be saved with. |
Method | save |
Saves data by delegation to the provided save method. |
Method | _fetch |
Undocumented |
Method | _fetch |
Generate and cache the current save version |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Instance Variable | _exists |
Undocumented |
Instance Variable | _filepath |
Undocumented |
Instance Variable | _glob |
Undocumented |
Instance Variable | _version |
Undocumented |
Instance Variable | _version |
Undocumented |
Inherited from AbstractDataSet
(via AbstractVersionedDataSet
):
Class Method | from |
Create a data set instance using the configuration provided. |
Method | __str__ |
Undocumented |
Method | release |
Release any cached data. |
Method | _copy |
Undocumented |
Property | _logger |
Undocumented |
def __init__(self, filepath:
str
, save_args: Dict[ str, Any]
= None, version: Version
= None, credentials: Dict[ str, Any]
= None, fs_args: Dict[ str, Any]
= None):
(source)
¶
Creates a new instance of JSONDataSet pointing to a concrete JSON file on a specific filesystem.
Parameters | |
filepath:str | Filepath in POSIX format to a JSON file prefixed with a protocol like s3:// .
If prefix is not provided, file protocol (local filesystem) will be used.
The prefix should be any protocol supported by fsspec.
Note: http(s) doesn't support versioning. |
saveDict[ | json options for saving JSON files (arguments passed into `json.dump). Here you can find all available arguments: https://docs.python.org/3/library/json.html All defaults are preserved, but "default_flow_style", which is set to False. |
version:Version | If specified, should be an instance of kedro.io.core.Version. If its load attribute is None, the latest version will be loaded. If its save attribute is None, save version will be autogenerated. |
credentials:Dict[ | Credentials required to get access to the underlying filesystem.
E.g. for GCSFileSystem it should look like {"token": None} . |
fsDict[ | Extra arguments to pass into underlying filesystem class constructor
(e.g. {"project": "my-project"} for GCSFileSystem), as well as
to pass to the filesystem's open method through nested keys
open_args_load and open_args_save .
Here you can find all available arguments for open :
https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.open
All defaults are preserved, except mode , which is set to r when loading
and to w when saving. |
overrides
kedro.io.AbstractDataSet._load
overridden in
kedro.extras.datasets.tracking.JSONDataSet
, kedro.extras.datasets.tracking.MetricsDataSet
Undocumented
overrides
kedro.io.AbstractDataSet._save
overridden in
kedro.extras.datasets.tracking.MetricsDataSet
Undocumented