我有一个使用Dask库处理服务器上非常大的数据帧(> 200G)合并的python脚本。但是工作总是被杀。
我总是要求280-300G在服务器上完成这项工作。 有什么办法可以限制内存使用吗?
脚本如下:
import dask.dataframe as dd
from dask.diagnostics import ProgressBar
import numpy as np
import pandas as pd
# some codes here
big_table = dd.read_csv(ref_file, sep="\t", dtype=dtypes) # ref_file > 200G
small_table = dd.read_csv(res_file, sep="\t", dtype=d_types) # res_file ~ 8G
df = dd.merge(small_table, big_table, how='inner', on=['chr','pos'])
df.to_csv("results_*.csv", sep='\t',index=False) # I doubt the writing part causes the problem