2017-08-07 4 views
4

フラットファイルには、Python Pandas/Pytables/H5pyを使用して高速化するために、クエリと検索。私はto_hdfのようなものを使ってデータの各サブセクションを変換し、それらをHDFStoreに格納することを計画しています。HDFStore:既存のテーブルにデータを追加してから再インデックスを作成して新しいテーブルを作成するまでの効率

保存されたデータは決して変更する必要はありませんが、データを後で特定のサブセクションに追加してから、ピース全体を再索引付けする必要があります。

私の質問は、既存のテーブルにデータを追加して(store.appendを使用して)、新しいテーブルを再インデックスする方が効率的ですか?追加する必要があるデータで新しいテーブルを作成するだけですか?

後者の場合、HDSFStoreにLOT(100k以上)ノードを作成する可能性があります。それはノードのアクセス時間を短縮しますか?

私は他の答えを見ようとしましたが、効果があるかどうかを確認するためにノードの束を使って自分の店を作りましたが、重要なものは見つかりませんでした。どんな助けもありがとう!

+0

効率的とはどういう意味ですか?時間を最小限にするか、スペースや組み合わせを最小限に抑えますか? –

答えて

0

私はあなたのHDF5ファイルに多くのノードがあることに問題はないと知っています。ファイル内のグループ数に制限はありません(https://support.hdfgroup.org/HDF5/faq/limits.html)。

データセットのサイズを変更することもできますが、スピードとスペースのパフォーマンスは、割り当て方法(連続またはチャンク)によって異なります。ユーザーガイドで読むことができます。 https://support.hdfgroup.org/HDF5/doc/UG/HDF5_Users_Guide-Responsive%20HTML5/HDF5_Users_Guide/Datasets/HDF5_Datasets.htm?rhtocid=5.3#TOC_5_5_Allocation_of_Spacebc-15

h5pyの実装では、チャンクとデフォルトの連続が可能です。

関連する問題