合并b/w两个DASK数据框架,为MemoryError提供



阅读镶木quet文件

df_ss_parq = dd.read_parquet("trainSearchStream.parquet/")
df_ai_parq = dd.read_parquet("AdsInfo.parquet/")

合并两个数据集

df_train =(df_ss_parq.merge(df_ai,on="ad_id",how="left")
       ).compute()

RAM:16 GB

我尝试在" ad_id"列上使用索引,这使其更快但显示出相同的错误。

TrainSearchStream尺寸= 17 GB

adsinfo size = 17 gb

有人知道如何解决它?

我建议使用诸如Impala或Drill这样的SQL引擎进行加入,将结果写入新的Parquet文件。Python数据堆栈现在不太适合在内存约束的环境中处理大桌子之间的连接。

最新更新