我有一张超过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
吗?
答案 0 :(得分:0)
您正在进行的操作groupby(...).count()
应该在少量空间内完成。
我看到的唯一可能是你的分区可能非常大,所以一次在内存中有24个是有问题的吗?
抱歉,我在这里可以提供更多帮助。