Как настроить кластер или узнать, что ваша конфигурация в порядке? - PullRequest
0 голосов
/ 14 января 2020

У меня есть огромные файлы для обработки. У меня есть необходимость выполнить set_index для одного столбца каждого файла.

Я читал, что set_index действительно дорогой и что мы должны уменьшить количество разделов. Я пробовал, но пока это не помогает.

Что необходимо для выполнения операций такого типа с огромными наборами данных? Каков идеальный размер для раздела в соответствии с памятью, связанной как с работником, так и с потоками?

Я заметил, что если я установлю, например, 8 рабочих и если у меня будет 30 ГБ, 70 ГБ или 100 ГБ на одного рабочего, я Подумайте, что-то не так в моей конфигурации (на данный момент на одном узле, но, надеюсь, скоро в кластерном режиме):

  • Используемая память не равномерна / не распределена между рабочими, можно было бы d ie.
  • У меня есть строка журнала с Event loop was unresponsive in Worker for 12.02s. This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability Это проблема или нет вообще?
  • Мой работник умирает один за другим, пока я не потеряю всех своих работников
  • Я могу сохранить только одну рабочую / несколько потоков, разделяющих всю память, но процесс будет очень медленным, и я думаю, что он закончится sh (один день ...)

1 Ответ

1 голос
/ 17 января 2020

Рекомендую прочитать Лучшие практики Dask .

Ваш вопрос очень широкий, и, к сожалению, ответ тоже. В целом, ответ на ваш вопрос будет сильно зависеть от того, как вы используете Dask.

...