2016-06-24 17 views
-2

私は約12ギガバイト相当のつぶやきを含むテキストファイルを持っており、このデータセットをキーワードで検索する必要があります。これを行う最善の方法は何ですか?私は例えば、私はPythonで各テキストファイルを経由するスクリプトのいくつかの並べ替えを行い、場合私のコンピュータは非常に大きなデータセットを検索する最良の方法は?

答えて

0

あなたがしたい場合は、ファイルを扱うことができるとは思わないのJava、Pythonの、R.に泊まっ

すべてのファイルを一度見る必要があるため、コンピュータがその負荷を取れない場合は、正確にさよならを言う。


別のアプローチは、正確なものよりも高速ですapproximation algorithmsを使用することが、精度を失うことを犠牲に来ます。

これから始めるといいでしょう。トピックはあまりに広すぎてここから続けることができないので、私はここで答えを止めます。

1

"ああ、Pythonやその他の言語は、もっとも確実に行うことができます。"数秒かかるかもしれないが、仕事は終わるだろう。私はあなたの問題に対する最善のアプローチが「まっすぐ」であることを提案します。一度に1行ずつファイルを処理するスクリプトを作成します。

「12ギガバイト」は私たちにとって驚くほど多く聞こえますが、現代のマシンではです。実際にはそれほど大きくはありません。

必要に応じてメモリ内にハッシュ(連想配列)を構築します。一般に、データベース操作(「SQLite」データベースファイル以外の場合は...)は避けてください。しかし、「インデックス付きファイルストレージ」が必要な場合は、SQLiteは素晴らしいツールです。

。 。 。非常に重要な注意点が1つあります。「SQLiteを使用しているときは、トランザクションを使用していますが、読んでいてもです。デフォルトでは、SQLiteはすべての書き込みを物理的にコミットし、ごとに物理的にコミットします。がトランザクションに参加している場合を除きます。次に、それだけで、それはあなたがそれがいつも期待していたかもしれないので、「怠惰な読み書き」になります。 (そして、「吸盤のf-a-s-t ...!」

関連する問題