我有一个巨大的.csv文件(100 GB以上),格式为:
| Column1 | Column2 | Column3 | Column4 | Column5 |
|---------|---------|---------|---------|---------------------|
| A | B | 35 | X | 2017-12-19 11:28:34 |
| A | C | 22 | Z | 2017-12-19 11:27:24 |
| A | B | 678 | Y | 2017-12-19 11:38:36 |
| C | A | 93 | X | 2017-12-19 11:44:42 |
想要总结一下
因此上述提取物应成为:
| Column1 | Column2 | sum(Column3) | Column4 | max(Column5) |
|---------|---------|--------------|---------|---------------------|
| A | B | 702 | Y | 2017-12-19 11:38:36 |
| A | C | 22 | Z | 2017-12-19 11:27:24 |
| C | A | 93 | X | 2017-12-19 11:44:42 |
考虑以下这些因素:
编辑1: 我没有在dask中使用多处理。添加它可以显着提高速度(正如其中一条评论所建议的那样),但32G RAM还不足以完成这种方法。 编辑2: Dask 0.16.0不是一个可能的解决方案,因为它绝对是破碎的。将分区写入磁盘5个小时后,它已经写入了300个分区中的8个,并且在报告写入7之后,现在它报告写了4个而不是8个(没有抛出错误)。