如何将非常大的dask合并结果直接保存到python中的文件?

问题描述 投票:1回答:1

我有一个大文件~1 TB,我必须加入较小的~4 GB。我正在尝试使用dask包来实现这个dask,但是合并的结果比机器内存大128 GB,最后是MemoryError。我试图保持合并的结果作为延迟收集,但不知道如何将结果直接保存到外部文件的最后。

small_file = dd.read_csv('file1.txt', sep='|', dtype=str)
large_file = dd.read_csv('file2.txt', sep='|', dtype=str)
merged = dd.merge(large_file, small_file, on='key').to_delayed()
python join dask
1个回答
0
投票

要将dask数据帧保存到文件,可以使用to_csvto_parquet等方法

small_file = dd.read_csv('file1.txt', sep='|', dtype=str)
large_file = dd.read_csv('file2.txt', sep='|', dtype=str)
merged = dd.merge(large_file, small_file, on='key')
merged.to_csv('path/to/myfiles.*.csv')

有关更多信息,请参阅http://dask.pydata.org/en/latest/dataframe-create.html

© www.soinside.com 2019 - 2024. All rights reserved.