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

Understanding the process of loading multiple file contents into Dask Array and how it scales

使用 http://dask.pydata.org/en/latest/array-creation.html

上的示例
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

我无法理解下一行以及它是 "dask arrays" 的 dask_array 还是 "normal" np 数组,它指向与数据集一样多的 dask 数组所有返回的 hdf5 文件。

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

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

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

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