icechunk.dask#
Dask integration for parallel array writes.
icechunk.dask #
Functions:
| Name | Description |
|---|---|
computing_meta | A decorator to handle the dask-specific |
store_dask | A version of |
computing_meta #
A decorator to handle the dask-specific computing_meta flag.
If computing_meta is True in the keyword arguments, the decorated function will return a placeholder meta object (np.array([object()], dtype=object)). Otherwise, it will execute the original function.
Source code in icechunk-python/python/icechunk/dask.py
store_dask #
A version of dask.array.store for Icechunk stores.
This method will eagerly execute writes to the Icechunk store, and will merge the changesets corresponding to each write task. The store object passed in will be updated in-place with the fully merged changeset.
For distributed or multi-processing writes, use Session.fork() to create a ForkSession that can be pickled and distributed to remote workers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sources | list[Array] | List of dask arrays to write. | required |
targets | list of `zarr.Array` | Corresponding list of Zarr array objects to write to. | required |
regions | list[tuple[slice, ...]] | None | Corresponding region for each of | None |
split_every | int | None | Number of changesets to merge at a given time. | None |
**store_kwargs | Any | Arbitrary keyword arguments passed to | {} |