將一個大文件拆分成小文件的小題目:Hash拆分小文件

題目一: 兩個30G的大文件,裏面存儲URL地址,現在有一臺8G內存的服務器,找出兩個文件中相同的值

根據hash值分成小文件(字符串或者數字,值相同則hash值相同 :  ss.get(0).hashCode()),然後兩個文件比較相同的值

 

題目二:一個1T的大文件,裏面存儲URL地址,現在有一臺8G內存的服務器,找出文件中相同的值

根據hash值分成小文件,然後小文件中比較

 

題目三:將一個1T的大文件,裏面存儲數字,進行排序。

1 按範圍分段存儲,每個小文件排序

2 歸併排序:

   a 按內容大小拆分,則小文件內無序,小文件間無序

   b 小文件內進行排序,現在則小文件內有序,小文件間無序

   c 然後若目前分成了3個文件,然後每個文件取出第一個元素,第一輪三個元素比較大小。最小的輸出到文件,空出一個位置,然後從第一個文件中取出第二個元素,三個元素再次比較。以此類推

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章