【发布时间】:2019-10-11 09:46:52
【问题描述】:
我想使用 Dask 从存储在不同目录中的许多 parquet 文件中加载特定列,并且每个 parquet 需要加载不同的列。我想使用 Dask,以便我可以在单台机器上使用多个内核。我知道如何将文件列表或通配符传递给dd.read_parquet 以指示多个文件(例如*.parquet),但我看不到为每个文件传递要读取的不同列集的方法。我想知道这是否可以使用dask.delayed 来完成。
我的具体情况是:
我将大型单细胞基因表达数据集(约 30,000 行/基因乘以约 10,000 列/细胞)作为 parquet 文件存储在不同的目录中。每个目录有两个 parquet 文件 1) 大型基因表达数据(单元格作为列)和 2) 单元格元数据(单元格作为行,单元格元数据作为列)。我正在使用较小的元数据拼花文件来查找较大文件中需要的列/单元格。例如,我将使用元数据 parquet 文件查找特定单元格类型的所有单元格,然后仅从较大的文件中加载这些单元格。我可以使用 Pandas 做到这一点,但我想使用 Dask 进行并行处理。
【问题讨论】:
标签: pandas dask parquet dask-distributed