Ваше понимание неверно: работники будут читать и писать напрямую в общие хранилища или облачные / сетевые службы, это нормальный способ расчета.
df = dd.read_parquet(url)
df_out = do_work(df)
df_out.to_parquet(url2)
В этом случае данные никогда не видятся планировщиком или клиентом. Тем не менее, они делают обмениваются информацией: клиент будет загружать метаданные о наборе данных, чтобы он мог сделать выводы о том, как разделить выполняемую работу, и планировщик обращается как к клиенту, так и к работникам, чтобы рассмотрите эти спецификации задач и проверьте, когда они будут выполнены.
При желании вы можете перенести весь набор данных в память клиента в виде кадра данных pandas с
local_df = df.compute()
но это необязательно и, очевидно, не рекомендуется, если размер данных больше, чем объем памяти. Обычно вам никогда не нужно делать это для всего набора данных, возможно, только для некоторого совокупного результата, намного меньшего, чем исходный. Даже в этом случае сам планировщик не сохраняет результаты.