我現(xiàn)在要解析一個800M的文本文件,然后進(jìn)行數(shù)據(jù)統(tǒng)計,這個文本文件的格式基本如下[2009-08-14 09:00:36] logtype:[photo] company:[dell] uid[2031][2009-08-14 09:00:37] logtype:[music] company:[dell] uid[2039][2009-08-14 09:00:38] logtype:[music] company:[IBM] uid[2038][2009-08-14 09:00:39] logtype:[music] company:[NOKIA] uid[2059]此數(shù)據(jù)文件我己經(jīng)解析到臨時表datatable中我現(xiàn)在要進(jìn)行排重操作比如我要取company是dell的項,因為其中有兩個,我在進(jìn)行統(tǒng)計時只統(tǒng)計一次就可以了,在SQL中可以用distinct進(jìn)行操作我現(xiàn)在的前提是這個文本數(shù)據(jù)量太大不能插入到數(shù)據(jù)庫里面,請高手指點如何利用datatable進(jìn)行排重操作.謝謝!
2 回答

絕地?zé)o雙
TA貢獻(xiàn)1946條經(jīng)驗 獲得超4個贊
海量”已經(jīng)那么不值錢了啊。
你既然選擇讀到內(nèi)存中,為啥要用DataTable,讀成對象,然后LINQ咯。

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊
如果只是統(tǒng)計一下有多少家公司,我覺得不需要將數(shù)據(jù)放數(shù)據(jù)庫,只需要用i/o操作讀文件,一次讀一行,然后分析每一條記錄的company的值,存入到一個ArrayList中,就能實現(xiàn)統(tǒng)計公司數(shù)量了。至于怎么分析每一條記錄,可以用正則來實現(xiàn)。
- 2 回答
- 0 關(guān)注
- 269 瀏覽
添加回答
舉報
0/150
提交
取消