簡體   English   中英

Modin 之間的比較 | 達斯克 | 數據表| 用於並行處理和內存不足 csv 文件的 Pandas

[英]Comparison between Modin | Dask | Data.table | Pandas for parallel processing and out of memory csv files

Dask 的根本區別和主要用例是什么? 莫丁 | 數據表

我檢查了每個庫的文檔,它們似乎都為熊貓限制提供了“類似”的解決方案

我試圖決定學習三對並口/外的內存計算的該工具: daskmodindatatablepandas是不是平行的工具,也不是為了出的內存計算)。

沒有找到內存外的任何工具在datatable文件(討論這里),所以我只專注於modindask

總之modin正試圖成為一個下拉更換為pandas API,而dask是懶洋洋地評估。 modin是一個列存儲,而dask分區的數據幀由行。 背后的分發引擎dask集中,而中modin (被稱為ray )不是。 編輯:現在modin支持dask作為計算引擎了。

dask是第一個,擁有龐大的生態系統,並且看起來非常有據可查,在論壇中進行了討論並在視頻中進行了演示。 modin ( ray ) 有一些設計選擇,使其在硬件錯誤的彈性和高性能序列化方面更加靈活。 ray目標是在 AI 研究中最有用,但modin本身是通用的。 ray還針對實時應用,以更好地支持實時強化學習。

更多細節在這里這里

我有一項處理每日股票交易數據的任務,並遇到了這篇文章。 我的行的長度約為 6000 萬,列的長度低於 10。我在read_csvgroupby mean對所有 3 個庫進行了測試。 基於這個小測試,我的選擇是dask 下面是三者的對比:

| library      | `read_csv` time | `groupby` time |
|--------------|-----------------|----------------|
| modin        | 175s            | 150s           |
| dask         | 0s (lazy load)  | 27s            |
| dask persist | 26s             | 1s             |
| datatable    | 8s              | 6s             |

看來, modin是效率不高的dask此刻,至少我的數據。 dask persist告訴dask您的數據可以放入內存中,因此 dask 需要一些時間將所有內容放入而不是延遲加載。 datatable最初在內存中包含所有數據,並且在 read_csv 和 groupby 中都非常快。 但是,鑒於它與熊貓不兼容,使用dask似乎更好。 實際上我來自 R 並且我非常熟悉 R 的 data.table 所以我在 python 中應用它的語法沒有問題。 如果 python 中的datatable可以無縫連接到 Pandas(就像 R 中的 data.frame 那樣),那么這將是我的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM