大量のデータ (数テラバイト) があり、蓄積しています... それらは多くのタブ区切りのフラット テキスト ファイル (それぞれ約 30MB) に含まれています。ほとんどのタスクには、データを読み取り、一連の述語ステートメントに基づいて観測/行を集計 (合計/平均 + 追加の変換) し、出力をテキスト、HDF5、または SQLite ファイルなどとして保存することが含まれます。通常は R を使用します。そのようなタスクの場合、これは少し大きいのではないかと心配しています。解決策の候補のいくつかは、
- すべてを C (または Fortran) で書く
- ファイル (テーブル) をリレーショナル データベースに直接インポートしてから、R または Python でチャンクを取得します (一部の変換は、純粋な SQL ソリューションには適していません)。
- 全体をPythonで書く
(3)はまずいのでしょうか?Python で C ルーチンをラップできることは知っていますが、この場合、計算上禁止されているもの (たとえば、多くの反復計算を必要とする最適化ルーチン) がないため、I/O が計算自体と同じくらいボトルネックになる可能性があると思います。さらなる考慮事項や提案について何か推奨事項はありますか? ありがとう
編集回答ありがとうございます。Hadoop については意見が対立しているようですが、いずれにせよ、クラスターにアクセスすることはできません (ネットワーク化されていない複数のマシンを使用することはできますが)。