Dask Dataframe - множество задач / разделов для небольших датафреймов - PullRequest
1 голос
/ 30 апреля 2020

Я использую Dask для обработки больших фреймов данных и таких вещей, как соединения / фильтры. Конечный результат - это датафрейм, который, как я знаю, имеет 8 строк. Однако, если мой кадр данных dask равен f, где я проверяю f, я получаю npartitions=81 и Dask Name: assign, 10633 tasks. Это почему? Запись в файл .h5 заняла почти 5 часов, и я обнаружил, что в результате всего 8 строк. Есть ли способ, которым я могу ускорить это?

Количество разделов было 81, что казалось слишком большим. Я понизил его до 5, и это все еще заняло 4 часа.

1 Ответ

0 голосов
/ 08 мая 2020

Это не должно иметь значения. В конце у вас будет много пустых разделов, но это нормально. Если вы об этом, то вы всегда можете позвонить df.repartition(1).

. Количество разделов вашего вывода зависит от количества входных разделов и операций, которые вы выполняете. Однако он не учитывает значения ваших данных (все это определяется до того, как Dask когда-либо проверяет ваши данные).

Если Dask работает медленно, я рекомендую взглянуть на страницу «Понимание производительности» в документации Dask, чтобы узнать, почему.

https://docs.dask.org/en/latest/understanding-performance.html

...