работники dask замерзают при записи в файл - PullRequest
0 голосов
/ 06 марта 2020

Я нахожусь в ситуации, когда мне нужно записать большой набор данных на диск, и у меня возникают проблемы, которые не позволяют рабочим «зависнуть»: память продолжает увеличиваться, пока не достигнет доли паузы (0,5), а затем больше ничего не происходит (согласно на приборной панели). Я пытался работать на минимальном примере, но не могу воспроизвести такое поведение, так как я читаю большой набор данных.

Как я могу продолжить отладку в такой ситуации?

Платформа - HP C .

распределено настроено в соответствии с:

    memory:
      target: false  # target fraction to stay below
      spill: false  # fraction at which we spill to disk
      pause: 0.50  # fraction at which we pause worker threads
      terminate: 0.95  # fraction at which we terminate the worker

Вот обзор графика для записи подмножества из 2 файлов:

dask graph

1 Ответ

0 голосов
/ 13 марта 2020

Вашим работникам не хватает памяти. К сожалению, я не знаю почему, не зная больше о вашей программе. Некоторые общие решения для этого:

  1. Использовать меньшие куски
  2. Использовать работников Dask с большим объемом памяти
  3. Отключить функцию паузы памяти и надеяться, что ваши вычисления могут завершиться sh в предоставленном пространстве
  4. Добавление дополнительных работников Dask
  5. Изменение структуры вычислений по-другому, чтобы Dask мог очистить данные при их создании
  6. ...

Здесь может происходить много вещей. К сожалению, трудно сказать, не зная намного больше о том, что вы пытаетесь сделать (что, конечно, трудно сделать и уважать время каждого).

...