zarr-python
zarr-python copied to clipboard
read hdfs error
Zarr version
v2.13.1
Numcodecs version
v0.10.2
Python Version
3.8.5
Operating System
Linux
Installation
pip install zarr
Description
zarr read hdfs throw error:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [7], in <cell line: 1>()
----> 1 list(store.keys())
File ~/anaconda3/envs/rapids/lib/python3.8/_collections_abc.py:702, in MappingView.__len__(self)
701 def __len__(self):
--> 702 return len(self._mapping)
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/zarr/hierarchy.py:314, in Group.__len__(self)
312 def __len__(self):
313 """Number of members."""
--> 314 return sum(1 for _ in self)
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/zarr/hierarchy.py:314, in <genexpr>(.0)
312 def __len__(self):
313 """Number of members."""
--> 314 return sum(1 for _ in self)
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/zarr/hierarchy.py:284, in Group.__iter__(self)
282 for key in sorted(listdir(self._store, self._path)):
283 path = self._key_prefix + key
--> 284 if (contains_array(self._store, path) or
285 contains_group(self._store, path)):
286 yield key
287 else:
288 # TODO: Should this iterate over data folders and/or metadata
289 # folders and/or metadata files
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/zarr/storage.py:107, in contains_array(store, path)
105 prefix = _path_to_prefix(path)
106 key = _prefix_to_array_key(store, prefix)
--> 107 return key in store
File ~/anaconda3/envs/rapids/lib/python3.8/_collections_abc.py:666, in Mapping.__contains__(self, key)
664 def __contains__(self, key):
665 try:
--> 666 self[key]
667 except KeyError:
668 return False
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/zarr/storage.py:724, in KVStore.__getitem__(self, key)
723 def __getitem__(self, key):
--> 724 return self._mutable_mapping[key]
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/hdfs3/mapping.py:57, in HDFSMap.__getitem__(self, key)
56 def __getitem__(self, key):
---> 57 key = self._key_to_str(key)
58 try:
59 with self.hdfs.open(key, 'rb') as f:
File ~/anaconda3/envs/rapids/lib/python3.8/site-packages/hdfs3/mapping.py:53, in HDFSMap._key_to_str(self, key)
51 key = str(key)
52 if '/' in key:
---> 53 raise ValueError("Keys containing '/' disallowed: " + key )
54 return '/'.join([self.root, key])
ValueError: Keys containing '/' disallowed: .zgroup/.zarray
Steps to reproduce
import hdfs3
import zarr
hdfs = hdfs3.HDFileSystem(host='localhost', port=9000)
store = zarr.open(hdfs3.HDFSMap(hdfs, root='/data/', check=False))
list(store.keys())
then it throws error.
Additional output
No response