选择将 Dask 数组保存到 hdf5 文件的模式

Choose mode for saving a Dask array to hdf5 file

将dask数组保存为hdf5文件时可以选择文件模式吗?

to_hdf5 方法没有 mode 关键字。

测试:

import dask.array as da
a = da.arange(12, chunks=3)
a.to_hdf5('a.hdf5', '/a', mode='a')

结果:

...
TypeError: make_new_dset() got an unexpected keyword argument 'mode'

根据 docsto_hdf() 使用 h5py.File.create_dataset,并将参数传递给它 - 即默认情况下它将附加到现有的 file/dataset。或者,如果您想更好地控制如何写入数据,.store() 下的示例可能很有启发性:

>>> import h5py  
>>> f = h5py.File('myfile.hdf5')  
>>> dset = f.create_dataset('/data', shape=x.shape,
...                                  chunks=x.chunks,
...                                  dtype='f8')  
>>> store(x, dset)

这基本上做同样的事情,但您可以以任何方便的方式创建您的文件和数据集 - store() 只需要具有类似 numpy 数组的界面的东西。