[问题] 以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