2016-04-27 10 views
1

私は、SqliteデータベースからPythonで大きな配列を作成する必要があります。サイズは1000_000_000 * 1000_000_000で、各項目は1または0です。実際には、私のコンピュータは、この量の情報をRAMに格納することはできません。たぶん誰かがこのような状況で働く方法を知っていますか?たぶんこれらのベクトルをデータベースに格納するか、同様のニーズのためのフレームワークがありますか?私はこれを行うことができれば、私はクラスタを構築する必要があります、この問題は、この情報のサイズで、私にはそれほど恐怖を感じません。 あらかじめありがとう/Pythonでビッグアレイをどのように扱うのですか?

+0

基本的には、アプローチを変更する必要があります。データフレームが大きければ、メモリ内のすべてをロードするのではなく、他のスキームを採用することをお勧めします。どのスキームが特に何を達成しようとしているかによって大きく左右されます。注目すべき例:バッチ処理(ロードサブセット、プロセス、アンロード、次のロード)、検索ツリー(検索用、明らかに)など。 – J0HN

+0

[Apache Spark SQL](http://spark.apache.org)/sql /) – MaxU

+0

おそらく配列をファイルに格納することができます。 '各項目は1またはゼロです' - したがって、ファイルのどの位置にどの項目があるのか​​を正確に知ることができます。 –

答えて

0

私はまた、本当に大きなデータセット(完全なゲノムまたはすべての可能な遺伝子の組み合わせ)と一緒に働き、これらをピックル付きの圧縮データベースに保存します。この方法ではRAM効率が良く、ハードディスクのメモリ使用量が少なくなります。 私はそれを試してみることをお勧めします。

関連する問題