[問題] fread讀資料 and 使用 snow 平行

看板R_Language作者 (為什麼會流淚)時間9年前 (2016/07/24 22:18), 9年前編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
上面有問過一篇如何讀取3G的DATA ----------------------------------------------------------- 所以現在使用fread 去讀取3G的DATA,但是這樣會讓我RAM至少花3G在跑 如果要使用snow去做平行,我幾乎要複製同等大小的DATA給不同的R 例如我要開6個做平行,那我就要花費3G*7=21G的RAM (我工作管理員有8個程序在跑) 即使開到4個做平行,也要3G*5=15G的RAM 這樣RAM使用量太大了,雖然可以加裝RAM到32G 但有沒有別的方法,一次性對整個DATA去處理, 我知道可以把DATA分幾塊,做完輸出清空RAM,在去做下一塊DATA 但這樣有點麻煩 ---------------------------------------------------------- 有看到下面那篇 bigmemory 目前正在嘗試中 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.63.67 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1469369923.A.5E6.html

07/24 23:20, , 1F
把3G切成6份下去平行即可.
07/24 23:20, 1F

07/25 00:06, , 2F
看你的操作要做什麼,再來考慮加速方法比較妥當
07/25 00:06, 2F
後來用cywhale大分享的bigmemory 套件 就解決了 現在讀DATA 不用100MB的RAM 平行要做一些資料整理 算XX公司 XX產品銷售總合 所以要做篩選 特別撈出那家公司算總和等等 過去處理類似資料都是用平行去加速 只是第一次碰到這麼大的DATA 不過還是謝謝拉

07/25 00:49, , 3F
做資料處理的話,3G用data.table只要有6G的記憶體
07/25 00:49, 3F

07/25 00:49, , 4F
應該都可以順利吃下
07/25 00:49, 4F
吃得下沒錯 但後續整理資料 如果要用到平行 可能就吃不下了 因為平行要告訴所有的R 你的DATA長什麼樣子 所以資料量一定倍增 ※ 編輯: f496328mm (114.36.63.67), 07/25/2016 00:55:14

07/25 01:11, , 5F
所以我意思是能夠不用平行解決就不用平行解決(攤手
07/25 01:11, 5F

07/25 01:11, , 6F
沒必要搞到那麼複雜
07/25 01:11, 6F

07/25 13:15, , 7F
你可以考慮用 multidplyr
07/25 13:15, 7F
文章代碼(AID): #1NbCv3Nc (R_Language)
文章代碼(AID): #1NbCv3Nc (R_Language)