Dask groupby MemoryError:

时间:2017-07-18 09:43:23

标签: dask

我有一张超过1B记录的Parquet文件。 我尝试使用以下语句运行 using System.IO; using System.Linq; ... string[] fileNames = new string[] { @"C:\MyFile1.txt", @"C:\MyFile2.txt", @"C:\MyFile3.txt", }; ... File.WriteAllLines(@"C:\MyCombinedFile.txt", fileNames .SelectMany(file => File.ReadLines(file)) .Select(line => line.Replace(',', '.')));

groupby

我使用dfg = df[['col1','col2','col3']].groupby(['col1','col2']]).count().compute() 运行以下配置 client

我得到client = distributed.Client(set_as_default=True)

我应该使用不同的客户端配置运行吗?

我在具有内核的独立工作站上运行:24,内存:123 GB

BTW - 最后,我需要将MemoryError:保存回原始count作为新列。

有什么建议吗?我应该在数据库中运行df而不是groupby吗?

1 个答案:

答案 0 :(得分:0)

您正在进行的操作groupby(...).count()应该在少量空间内完成。

我看到的唯一可能是你的分区可能非常大,所以一次在内存中有24个是有问题的吗?

抱歉,我在这里可以提供更多帮助。