У меня есть две таблицы в базе данных, и каждая таблица содержит 9 ГБ данных. Я хочу объединить две таблицы после некоторой обработки. Я загрузил обе таблицы в dask dataframe, выполнил некоторую обработку и экспортировал их в файл CSV, но у меня возникает ошибка памяти, даже если я делаю 500 разделов.
Я проверил на Dask Dashboard, он хранит данные в памяти. Мой компьютер имеет 24 ГБ оперативной памяти и 4 ядра.
import dask.dataframe as dd
import pandas as pd
import numpy as np
from dask.distributed import Client
client = Client()
database_uri = 'postgresql://postgres:password@localhost:5432/database'
df_fbo = dd.read_sql_table('fbo_xml_clean_data_v1', npartitions=500, index_col='id', uri=database_uri)
df_fpds = dd.read_sql_table('fpds_opportunities', npartitions=500, index_col='id', uri=database_uri)
df_fbo.SOLNBR = df_fbo.SOLNBR.str.replace('\W', '')
df_fpds.solicitation_id = df_fpds.solicitation_id.str.replace('\W', '')
df_fbo.merge(df_fpds, left_on='SOLNBR', right_on='solicitation_id', how='inner', npartitions=500).to_csv('fbo_fpds_merge-*.csv')
![Dask Dashboard Log](https://i.stack.imgur.com/svWlc.png)