2017-04-15 7 views
0

大規模なデータセット、1,100万行があり、そのデータをパンダにロードしました。 rtreeやquad treeのような空間インデックスを作成したいのですが、メモリにプッシュすると、大きなファイルを読み込んでいると同時に1トンのRAMが消費されます。Hdf5と空間インデックス

メモリフットプリントを減らすため、私はインデックスをディスクにプッシュしようとしていました。 ツリーをテーブルに格納できますか?またはデータフレームさえ、hdfテーブルに格納しますか?よりよい戦略はありますか?

ありがとうございました

+0

この質問は少し話題になります。私はかなりmysqlがツリーの格納と検索を処理できることを確信しています。 – James

+0

この質問は何を意味するのかよくわかりませんが、パンダのバッチでデータセットを読むのはどうですか? – Peaceful

+0

@peaceful私は本当に大きなデータセットを持っているかどうか尋ねようとしていますが、私はメモリへのrtreeインデックスではなく、これを行うための戦略、または既存のパッケージがありますか? – JabberJabber

答えて

0

はい、r-treesは簡単にディスクに保存できます。 (KDツリーやクワッドツリーの方がはるかに難しい)

インデックスがブロック指向である理由は、ブロックサイズが1時間のドライブと一致するように選択されているためです。

私はパンダを使用していないため、ライブラリの推薦はしません。

+0

コメントありがとう – JabberJabber

+0

Rツリー(RStarTree)、Xツリー、またはSTRツリー(sort-tile-recursive loaded R-Tree)は、基本的なRツリーはあまり良くありません。 – TilmannZ

+0

これらはすべてr-treeであり、いくつかのバリエーションがありますが、すべてがディスク使用のために設計されています。 –

関連する問題