слияние выполняется для двух столбцов A и B, и я не задавал их в качестве индексов:
Код: Выделить всё
import dask.dataframe as dd
from dask.diagnostics import ProgressBar
small_df = pd.read_csv(dataframe1) # as pandas
large_df = dd.read_csv(dataframe2) #as dask.dataframe
df2 = large_df.merge(small_df, how='left', left_on=leftcolumns, right_on=rightcolumns) #do the merge
A = df2[df2['some column'] == 'somevalue'] #do a reduction that would fit on my computer
pbar = ProgressBar()
pbar.register()
result = A.compute()
Я использую индикатор выполнения, чтобы оценить, насколько далеко зашел процесс слияния. Вчера вечером я оставил это на всю ночь. Я перезапустил его сегодня утром, и пока прошло около получаса, а прогресс 0%.
Обновить
Я попробовал на своем Mac с 8 ГБ ОЗУ и работал очень хорошо. Я полагаю, что у меня есть дистрибутив Dask, который поставляется с Anaconda. В любом случае я не думаю, что сделал что-то другое.
Я делюсь своими результатами и временем, следуя приведенному выше кодированию (21 минута):
Код: Выделить всё
In [26]: C = result1.compute()
[########################################] | 100% Completed | 21min 13.4s
[########################################] | 100% Completed | 21min 13.5s
[########################################] | 100% Completed | 21min 13.6s
[########################################] | 100% Completed | 21min 13.6s
Я обновился до последней версии Dask на моем компьютере Windows, и он работал хорошо.
Подробнее здесь: https://stackoverflow.com/questions/394 ... -dataframe