-
-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zarr.group
creates unexpected chain of .zgroup
s in the store when using the path=
kwarg
#1257
Comments
In my (or perhaps Zarr's) mind, both One could possibly argue that nothing should get created if the action isn't possible, but for the moment, it's not atomic. Looking at your string, it seems like you intend for |
Thanks for the write up and clarification, yes in this case I wonder if there might be a benefit to having a small section in the official tutorial about the semantics of a store and how to avoid a pitfall like this? As someone new to Zarr but not new to Python or cloud object stores my original process as a Zarr noob when like this:
After digging into it I realized that I can do some thinking and maybe draft a PR for a section on store semantics in the official tutorial, but I think initially having a little bit of guidance like this could've been helpful as someone new:
Thanks for taking the time to explain! |
❤️ for additions where they would have helped you out. |
Thanks @ChiliJohnson - your issue has surfaced some extreme inefficiencies in how data is created in Zarr. IMO there are many unnecessary / duplicitous checks such as...
This is similar to some of the diagnosis I did over in pangeo-data/pangeo-eosc#39 (comment) trying to understand why writing was slow. I would be quite keen to rewrite some of this code to be be more performant with cloud storage. Another thing you might want to consider going forward is to switch to Zarr V3 as your format. I think that's where we should be focusing most of our effort going forward. (But it won't solve the core problem.) |
Zarr version
v2.13.3
Numcodecs version
N/A
Python Version
3.9.15
Operating System
macOS
Installation
Pip + venv
Description
When using
zarr.group
with thepath
kwarg, Zarr will still register.zgroup
s at the root of the store, all the way down to the specified path. I'm fairly new to Zarr (so I may be missing something) but this feels unexpected to me, I feel like inuitivelyzarr.group(…, path=…)
should only register a.zgroup
at the path specifiedSteps to reproduce
Output:
There are two things to note here I think:
.zgroup
s from the root of the store down to the specified pathAdditional output
No response
The text was updated successfully, but these errors were encountered: