Xarray/dask ждет ввода-вывода диска, прежде чем продолжить обработкуPython

Программы на Python
Anonymous
Xarray/dask ждет ввода-вывода диска, прежде чем продолжить обработку

Сообщение Anonymous »

Псевдокод выглядит следующим образом:

Код: Выделить всё

def obtain_chunk(da):
c = download_chunk()
c = process_stuff(c)
return c

# lazy dask array wrapped into xarray with many chunks
da = xr.DataArray(dask.array...)

# obtain each chunk with dask distributed
da.map_blocks(obtain_chunk)

# save as zarr file
da.to_zarr()
Это работает нормально, если диск, на который был сохранен результат, достаточно быстрый. Если сеть/обработка, из которой заполняется массив dask, работает быстрее, чем жесткий диск, то память заполняется медленно, и в какой-то момент процесс аварийно завершает работу. Т.е. dask продолжает обрабатывать и загружать фрагменты, в то время как диск не может продолжать сохранять данные.
fwiw: сейчас пишу это: https://github.com/cmosig/sentle, где я сталкиваюсь этот вопрос.

Подробнее здесь: https://stackoverflow.com/questions/785 ... processing

Вернуться в «Python»