Скрипт Dask Python зависает навсегда, когда мы пытаемся напечатать длину / сохранить результат dask dataframe - PullRequest
0 голосов
/ 30 апреля 2020

Каждый из Dask Dataframes содержит 60 миллионов записей каждый. В приведенном ниже фрагменте кода df2.parquet содержит 60 миллионов записей, и мы пытаемся отфильтровать записи, которые удовлетворяют условию "hash_check == False". Когда мы пытаемся получить длину результирующего фрейма данных / когда мы пытаемся записать результат обратно в файл паркета, скрипт зависает (мы понимаем, что у нас будет несколько пустых или небольших разделов при попытке записать результат в датафрейм).

Мы проверили в интернете обходные пути и обнаружили, что на этом же уровне открыты проблемы с напитками: https://github.com/dask/dask/issues/5054, https://github.com/dask/dask/issues/5252

Подскажите, пожалуйста, какой-нибудь обходной путь для этого.

Мы используем машину с 32 ГБ ОЗУ

, когда мы пытаемся выполнить следующие шаги в коде:

df4 = dd.read_parquet('df2.parquet', engine='pyarrow')
target_False = (df4[df4['hash_check'] == False])
print(len(target_False))
target_False.to_parquet('target_False.parquet', engine='pyarrow', compression='LZ4')
...