1
我有超过1B记录的Parquet文件。 我试图运行与下面的语句groupby
:Dask groupby MemoryError:
dfg = df[['col1','col2','col3']].groupby(['col1','col2']]).count().compute()
我用下面的配置的client
运行。
client = distributed.Client(set_as_default=True)
我得到一个MemoryError:
我应该用不同的客户端配置运行?
我与核心独立的工作站上运行:24,内存:123 GB
BTW - 最后我需要保存count
回到原来的df
作为新列。
有什么建议吗?我应该在数据库中运行groupby
而不是Dask
?
所以我应该用较小的分区重新创建镶木地板?如果是这样 - 可以选择'dask'('partition_on'参数不相关)。 “client.distribution”的配置可以帮助吗? –
我不知道这是你的问题。这只是一个盲目的猜测。 – MRocklin
仅供参考 - 在24核和123 GB内存的单机上,我们无法在Dask中执行25亿条记录中的group by,我们不得不迁移到SQL SERVER。顺便说一下机器有192GB的内存,但'dask集群'不能识别所有的内存。 –