作者f496328mm (为什麽会流泪)
看板R_Language
标题[问题] fread读资料 and 使用 snow 平行
时间Sun Jul 24 22:18:41 2016
上面有问过一篇如何读取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://webptt.com/cn.aspx?n=bbs/R_Language/M.1469369923.A.5E6.html
1F:→ clickhere: 把3G切成6份下去平行即可. 07/24 23:20
2F:→ celestialgod: 看你的操作要做什麽,再来考虑加速方法比较妥当 07/25 00:06
後来用cywhale大分享的bigmemory 套件
就解决了 现在读DATA 不用100MB的RAM
平行要做一些资料整理 算XX公司 XX产品销售总合
所以要做筛选 特别捞出那家公司算总和等等
过去处理类似资料都是用平行去加速 只是第一次碰到这麽大的DATA
不过还是谢谢拉
3F:→ celestialgod: 做资料处理的话,3G用data.table只要有6G的记忆体 07/25 00:49
4F:→ celestialgod: 应该都可以顺利吃下 07/25 00:49
吃得下没错 但後续整理资料 如果要用到平行 可能就吃不下了
因为平行要告诉所有的R 你的DATA长什麽样子 所以资料量一定倍增
※ 编辑: f496328mm (114.36.63.67), 07/25/2016 00:55:14
5F:→ celestialgod: 所以我意思是能够不用平行解决就不用平行解决(摊手 07/25 01:11
6F:→ celestialgod: 没必要搞到那麽复杂 07/25 01:11
7F:推 memphis: 你可以考虑用 multidplyr 07/25 13:15