了解将多个文件内容加载到Dask数组的过程及其扩展方式

了解将多个文件内容加载到Dask数组的过程及其扩展方式,dask,Dask,使用上的示例 我很难理解下一行,它是“dask数组”的dask_数组还是“普通”np数组,它指向的dask数组数量与返回的所有hdf5文件中的数据集数量相同 在文件读取阶段,由于da.from_array或仅当您连接到dask数组x时,性能是否有任何提高(基于线程或内存)列表中的对象都是dask数组,每个文件一个 x对象也是一个dask数组,它组合了arrays列表中dask数组的所有结果。它不是一个dask数组。dask数组的数组,它只是一个第一维更大的平坦dask数组 读取数据的性能可能不会

使用上的示例

我很难理解下一行,它是“dask数组”的dask_数组还是“普通”np数组,它指向的dask数组数量与返回的所有hdf5文件中的数据集数量相同


在文件读取阶段,由于
da.from_array
或仅当您连接到dask数组
x
时,性能是否有任何提高(基于线程或内存)

列表中的对象都是dask数组,每个文件一个

x
对象也是一个dask数组,它组合了
arrays
列表中dask数组的所有结果。它不是一个dask数组。dask数组的数组,它只是一个第一维更大的平坦dask数组

读取数据的性能可能不会提高。您可能会受到磁盘带宽的I/O限制。在这种情况下,大多数人都在使用dask.array,因为它们的数据量超过了RAM的容量。如果这对你没有价值,那么我会坚持使用NumPy

filenames = sorted(glob('2015-*-*.hdf5')
dsets = [h5py.File(fn)['/data'] for fn in filenames]
arrays = [da.from_array(dset, chunks=(1000, 1000)) for dset in dsets]
x = da.concatenate(arrays, axis=0)  # Concatenate arrays along first axis