0

我正在尝试使用 dask 读取大量数据,如下所示

import dask.dataframe as dd

df = dd.read_csv('some_file.txt', sep = '|', header = None)

虽然这工作正常并且我得到了一组分区,但出于某种原因,每当我尝试如下设置和索引时:

df = dd.read_csv('some_file.txt', sep = '|', header = None).set_index('col1')

我的机器内存不足,我不知道为什么

4

1 回答 1

0

在大型数据集上重置索引是一项昂贵的操作,通常需要大量的核外排序操作。Dask 使用partd微型项目来实现这一点。

但是,partd 仍应在小空间(大约 1GB 的 RAM)中运行。您需要提供更多信息才能正确诊断问题。

或者,如果您能找到一种方法来避免昂贵的 shuffle / set index 操作,那总是明智的。

于 2016-03-18T13:57:12.143 回答