1
我有超過1B記錄的Parquet文件。 我試圖運行與下面的語句groupby
:Dask groupby MemoryError:
dfg = df[['col1','col2','col3']].groupby(['col1','col2']]).count().compute()
我用下面的配置的client
運行。
client = distributed.Client(set_as_default=True)
我得到一個MemoryError:
我應該用不同的客戶端配置運行?
我與核心獨立的工作站上運行:24,內存:123 GB
BTW - 最後我需要保存count
回到原來的df
作爲新列。
有什麼建議嗎?我應該在數據庫中運行groupby
而不是Dask
?
所以我應該用較小的分區重新創建鑲木地板?如果是這樣 - 可以選擇'dask'('partition_on'參數不相關)。 「client.distribution」的配置可以幫助嗎? –
我不知道這是你的問題。這只是一個盲目的猜測。 – MRocklin
僅供參考 - 在24核和123 GB內存的單機上,我們無法在Dask中執行25億條記錄中的group by,我們不得不遷移到SQL SERVER。順便說一下機器有192GB的內存,但'dask集羣'不能識別所有的內存。 –