11

大きなファイルがあります (1 億行のタブ区切り値 - サイズ約 1.5GB)。フィールドの 1 つに基づいてこれをソートする既知の最速の方法は何ですか?

ハイブを試しました。Pythonを使用してこれをより高速に実行できるかどうかを確認したいと思います。

4

4 に答える 4

18

*nixsortプログラムの使用を検討しましたか? 生の言葉で言えば、おそらくほとんどの Python スクリプトよりも高速です。

-t $'\t'タブ区切りの-k n指定、フィールドの指定、nはフィールド番号、結果を新しいファイルに出力する場合に使用-o outputfileします。例:

sort -t $'\t' -k 4 -o sorted.txt input.txt

input.txt4番目のフィールドでソートし、結果をに出力しますsorted.txt

于 2011-08-16T14:20:57.923 に答える
2

ファイルを適切なリレーショナル データベースに保存し、関心のあるフィールドでインデックスを作成してから、注文されたアイテムを読み取ります。

于 2011-08-16T14:21:04.790 に答える