[問題] 以r整理大量資料,效能問題

作者: kial (夏澄)   2017-04-19 15:02:54
- 問題: 當你想要問問題時,請使用這個類別。
建議先到 http://tinyurl.com/mnerchs 搜尋本板舊文。
[問題類型]:
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
請把以下不需要的部份刪除
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
我有一個約千萬筆的產品交易紀錄
格式長得像下面這樣子
#testdata
customerid:AAAAAAAAAA
payment:BBBBBBBB
ReadTime:CCCCCC
20170419020204PruductNumber:DDDDDD:NT00183.1415Number:40
20170419020205PruductNumber:EEEEEE:NT00184.1415Number:42
20170419020206PruductNumber:FFFFFF:NT00185.1415Number:44
客戶:GGGGGGGGGGG
付款方式:III
讀取時間:JJJJJJ
20170419020204PruductNumber:KKKKKK:NT00040.1610Number:40
20170419020205PruductNumber:EEEEEE:NT00041.1610Number:42
20170419020206PruductNumber:FFFFFF:NT00042.1610Number:44
20170419020207PruductNumber:HHHHHH:NT00043.1610Number:46
我想要整理成
客戶 付款方式 讀取時間 交易時間 產品序號 金額 數量
AAAAAAAAAAA BBBBBB CCCCCC 20170419020204 DDDDDD 00183.1415 40
AAAAAAAAAAA BBBBBB CCCCCC 20170419020205 EEEEEE 00184.1415 42
AAAAAAAAAAA BBBBBB CCCCCC 20170419020206 FFFFFF 00185.1415 44
GGGGGGGGGGG III JJJJJJ 20170419020204 KKKKKK 00040.1610 40
GGGGGGGGGGG III JJJJJJ 20170419020205 EEEEEE 00041.1610 42
GGGGGGGGGGG III JJJJJJ 20170419020206 FFFFFF 00042.1610 44
GGGGGGGGGGG III JJJJJJ 20170419020207 HHHHHH 00043.1610 46
目前程式的雛型是讀入data後用for迴圈跟if和substr判定關鍵字,
再用substr寫入各變數後,利用rbind結合變數輸出。
但是碰到的問題是利用測試資料試跑時(約10000筆)就碰上了效能不佳的問題,
真實資料約1000萬筆,請問有無處理此類資料的套件或是效能較佳的解法呢?
感謝。
作者: Wush978 (拒看低質媒體)   2017-04-19 16:42:00
這種高效能的非結構化資料,只能運用hadoop/spark的map-reduce來做了「需要高效能的整理非結構化資料的功能」<--我第一句是要打這個
作者: f496328mm (為什麼會流淚)   2017-04-19 17:03:00
資料大約幾GB? 可以試試看用sapply取代for然後再用snow平行去加速這算是比較折衷的方法
作者: obarisk (OSWALT)   2017-04-19 17:15:00
c/c++
作者: fox1375 (阿吠)   2017-04-19 20:00:00
試試Microsoft R Open?

Links booklink

Contact Us: admin [ a t ] ucptt.com