Re: [問題] 大量資料處理

看板Programming作者 (喲)時間13年前 (2012/09/10 15:23), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《jackal11 (NC)》之銘言: : 小弟最近要處理幾百萬筆的資料,格式以.txt檔為主 : 除了原本的資料檔外,還要另外Output出兩個檔 : 兩個檔的差別就在於 : 一個檔是印出原本資料檔裡,所有重複的字串 : 而另一個檔則是印出原本資料檔裡,所有不重複的字串 : 而小弟所遇到的問題就是 : 我在程式裡每讀一筆資料,就要跟之前的"""已讀的"""資料比對一次 : 然後就很耗時間........ : 想問大家有沒有哪種"""程式語言"""(混合也可),可以較為快速處理大量的文字資料 : ----- : PS希望可以不要用到database來處理 : 先感謝大家了>___<" : ----- : 補充一下,目前小弟是用python中的字典,來存放key和value : 跑了半小時,只跑了5000筆資料><" 我覺得可以用MapReduce這種方法. 計算的主力也可以不要用記憶體撐,除非 速度是重點. 如果是使用檔案系統,我這個例子是MapReduce的轉型: //Mapper for (i=0; i<n; i++) { if file_exist(treat_as_file(Base + "\only\" + data(i))) { touch(treat_as_file(Base + "\dup\" + data(i))); delete(treat_as_file(Base + "\only\" + data(i))); } else if !file_exist(treat_as_file(Base + "\dup\" + data(i))) { touch(treat_as_file(Base + "\only\" + data(i))); } } //Reducer for (i=0; i<get_files_count(treat_as_folder(Base + "\only\")); i++) { append(get_files_under(treat_as_folder(Base + "\only\")[i], Target_File_For_Data_Only); } for (i=0; i<get_files_count(treat_as_folder(Base + "\dup\")); i++) { append(get_files_under(treat_as_folder(Base + "\dup\")[i], Target_File_For_Data_Duplicate); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.47.109

09/10 23:44, , 1F
好的,謝謝大大我來研究研究!!!
09/10 23:44, 1F

09/11 06:24, , 2F
這是利用filesystem。
09/11 06:24, 2F

09/11 06:24, , 3F
前提是字串內沒有特殊字元。
09/11 06:24, 3F

09/11 10:19, , 4F
抽象化了,treat_as_file就做這事
09/11 10:19, 4F
文章代碼(AID): #1GJWO6VU (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
0
21
完整討論串 (本文為第 2 之 2 篇):
問題
0
21
文章代碼(AID): #1GJWO6VU (Programming)