我有一組文件。每個文件應包含一組所有文件中的唯一行。例如,如果文件I包含行「1號線」,則沒有其他文件應該有一行「1號線」(也文件I應包含「1號線」的1項)查找/刪除BigData中的重複項
問題:
我需要刪除所有來自這些文件的重複。但是,總行數超過了數十億,所以我無法真正將所有文件壓入內存並刪除。
我想幾個解決方案:
1到數據庫中創建一個表,並使用每一行作爲一個獨特的密鑰,然後由所有的行扔進DB我們將刪除所有重複。
2-使用Redis設置結構而不是DB。
3-創建一個文件行作爲文件的名稱。因此,一旦所有文件自然創建,重複將消失。
但是,我能想到的每個解決方案都需要非常大量的時間和資源,目前我無法負擔得起。
所以我的問題是:
基於上述方案1,哪條路線似乎更可靠?
2-有沒有更好的解決方案/我不知道的技術?
@Ilja我不是要求密碼。我在尋求想法。我已經提出了3個解決方案,我知道這些工作但是「相信」代價高昂,我不知道這是多麼昂貴。 – nafas
'cat file_1 file_2 ... file_n |排序| uniq' –
也許你可以散列(例如md5)每行以減少使用的內存/空間。 – LFI