Вы правы, что при вызове .compute()
часто создается объект в памяти, такой как массив NumPy или Pandas DataFrame, который должен помещаться в памяти.
Часто это не проблема, потому что результаты многих анализов имеют тенденцию быть маленькими (как точки данных, которые заканчиваются на графике), или потому что выходные данные намеренно сохраняются, как в случаеdf.to_parquet('...')
.Однако иногда вы хотите запускать вычисления, но храните данные в распределенной памяти.В этом случае люди склонны использовать метод .persist()
вместо .compute()
.
См. Документацию persist API для получения дополнительной информации.