2017-08-07 50 views
4

我在平面文件中使用Python Pandas/Pytables/H5py將平面文件轉換爲HDF5的幾個TB數據(在子集中)查詢和搜索。我打算用to_hdf之類的東西轉換數據的每個小節並將它們存儲在HDFStore中。HDFStore:將數據附加到現有表並將其重新索引與創建新表之間的效率

儘管存儲的數據將永遠不需要更改,但我可能需要稍後將數據附加到某個特定子部分,然後重新索引(用於查詢)整個部分。我的問題是這樣的:將數據追加到現有表(使用store.append),然後重新編制新表,或者我應該簡單地創建一個帶有需要追加的數據的新表?

如果我做後者,我可能會在HDSFStore中創建一個LOT(超過10萬個)節點。這會降低節點訪問時間嗎?

我試圖看看其他答案,並創建了自己的商店與一堆節點,看看是否有效果,但我找不到任何重要的。任何幫助表示讚賞!

+0

你高效的意思是什麼?最小化時間或最小化空間或某種組合? –

回答

0

我不知道你的HDF5文件中有很多節點有任何問題。文件中組的數量沒有限制(https://support.hdfgroup.org/HDF5/faq/limits.html)。

您也可以調整數據集的大小,但速度和空間性能將取決於分配方法(連續vs分塊)。請閱讀用戶指南: 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實現允許分塊以及默認連續。

相關問題