[問題] 資料輸出 write.csv 速度慢

作者: f496328mm (為什麼會流淚)   2016-11-07 22:00:25
- 問題: 當你想要問問題時,請使用這個類別
[問題類型]:
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
我目前使用write.csv輸出data,再利用bigmemory輸出des/bin檔,
因為資料量有點多,總共超過100G,只能利用這樣的方式,降低RAM的使用量
實際上是,有將近50種變數,每個大約2~3GB,
想問問看有沒有其他的方法,目前可能會朝購買SSD的方向走
直接買1TB的SSD
PS :
做data mining,不知道重要變數,所以只好生一堆變數出來,
再用一些演算法去降維
謝謝
作者: Wush978 (拒看低質媒體)   2016-11-08 02:28:00
binary format, ex: protocol buffer或是saveRDS之類的函數fwrite 那些應該只是csv 的存取快,但是若你的選擇不只是csv, 用binary一般來說會快滿多的
作者: celestialgod (天)   2016-11-07 23:26:00
https://github.com/Rdatatable/data.table/issues/1664他還有一些問題沒修正基本上是1.9.8才會正式RELEASE這個函數我記得沒錯的話 最後一碼是奇數 現在都被稱作開發版本,偶數是正是釋出版
作者: cywhale (cywhale)   2016-11-07 23:17:00
https://goo.gl/SiQQCf 1.9.8後fwrite會以平行處理輸出
作者: celestialgod (天)   2016-11-07 22:28:00
data.table fwritedevtools::install_github("Rdatatable/data.table")還在development階段你如果要來拿production就建議不要訓練資料,自己玩,我覺得還算穩定
作者: Edster (Edster)   2016-11-07 22:06:00
輸出成RData吧,容量小很多:save(X, file = "abc.RData")若是要csv, 可考慮readr::write_csv, 但他用;分隔excel打開格式會跑掉.

Links booklink

Contact Us: admin [ a t ] ucptt.com