Я хочу использовать Dask для загрузки определенных столбцов из множества файлов паркета, которые хранятся в разных каталогах, и каждый паркет должен загружать разные столбцы. Я хочу использовать Dask, чтобы я мог использовать несколько ядер на одной машине. Я вижу, как вы можете передать список файлов или подстановочных знаков на dd.read_parquet
, чтобы указать несколько файлов (например, *.parquet
), но я не вижу способа передачи различных наборов столбцов для чтения для каждого файла. Мне интересно, если это можно сделать с помощью dask.delayed
.
Моя конкретная ситуация:
Я храню большие наборы данных по экспрессии генов в одной клетке (~ 30000 строк / генов на ~ 10000 столбцов / клеток) в виде паркетных файлов в разных каталогах. В каждом каталоге есть два файла партера: 1) данные о большом выражении гена (ячейки в виде столбцов) и 2) метаданные ячейки (ячейки в виде строк и метаданные ячейки в виде столбцов). Я использую меньшие файлы паркета метаданных, чтобы найти нужные столбцы / ячейки в файле большего размера. Например, я найду все ячейки, относящиеся к определенному типу ячеек, используя файл партера метаданных, а затем загружу только эти ячейки из файла большего размера. Я могу сделать это с помощью Pandas, но я бы хотел использовать Dask для параллелизма.