アルゴリズムを考え出すのに問題があります。ここで私を助けてくれませんか?
巨大なファイルがあるため、一度にロードできません。重複データが存在します (汎用データ、文字列の可能性があります)。重複を削除する必要があります。
アルゴリズムを考え出すのに問題があります。ここで私を助けてくれませんか?
巨大なファイルがあるため、一度にロードできません。重複データが存在します (汎用データ、文字列の可能性があります)。重複を削除する必要があります。
簡単だが遅い解決策の 1 つは、HashSet で 1 番目のギガビットを読み取ることです。ファイルの残りの部分を順番に読み取り、ファイル内にある重複した文字列を削除します。メモリ(ハッシュセット)で2番目のギガビットを読み取り、ファイル内の重複を何度も削除するよりも... プログラムは非常に簡単で、一度だけ実行したい場合は十分です。
各レコードのハッシュを計算し、それをマップに保持できます>
マップを構築するファイルを読み取り、マップに HashKey が存在することがわかった場合は、再確認するために位置を探します (等しくない場合は、マップされたセットに場所を追加します)
2番目の解決策:
入力がファイルにどのように配置されているかによって異なります。各行を行データで表すことができる場合。
もう 1 つの方法は、データベース サーバーを使用し、一意の値の列を持つデータベース テーブルにデータを挿入し、ファイルから読み取ってデータベースに挿入することです。最後に、データベースにはすべての一意の行/行が含まれます。