在dask分布式中将大型数据帧收集回master

时间:2019-06-13 06:44:25

标签: dataframe dask dask-distributed

我有一个较大的数据帧(约18万行)

df.compute()

在分布式模式下以本地模式在桌面上运行dask时挂起 AWS m5.12xlarge(98个内核)。 所有工人几乎都闲着 但是

df.head(df.shape[0].compute(), -1)

快速完成,并充分利用了可用内核。

从逻辑上讲,上述内容应等效。是什么导致差异? 我应该在第一个版本中传递一些参数给compute来加快速度吗?

1 个答案:

答案 0 :(得分:0)

当您致电.compute()时,您需要在本地流程中将所有结果作为pandas数据框。如果结果很大,则可能不合适。您是否需要本地整个结果?如果不是,那么也许您想要.persist()代替?