Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HDFStore:将数据追加到现有表和重新索引与创建新表之间的效率_Python_Hdf5_Hdfstore - Fatal编程技术网

Python HDFStore:将数据追加到现有表和重新索引与创建新表之间的效率

Python HDFStore:将数据追加到现有表和重新索引与创建新表之间的效率,python,hdf5,hdfstore,Python,Hdf5,Hdfstore,我在平面文件中有几TB的数据(在子集中),我希望使用Python Pandas/Pytables/H5py将这些数据转换为HDF5,以便更快地查询和搜索。我计划使用类似于的东西将数据的每个部分转换为\u hdf,并将它们存储在HDFStore中 虽然存储的数据永远不需要更改,但稍后我可能需要将数据附加到某个特定的子部分,然后重新索引(用于查询)整个片段 我的问题是:将数据追加到现有表中(使用store.append)然后对新表重新编制索引是否更有效,还是应该简单地使用需要追加的数据创建一个新表

我在平面文件中有几TB的数据(在子集中),我希望使用Python Pandas/Pytables/H5py将这些数据转换为HDF5,以便更快地查询和搜索。我计划使用类似于
的东西将数据的每个部分转换为\u hdf
,并将它们存储在HDFStore中

虽然存储的数据永远不需要更改,但稍后我可能需要将数据附加到某个特定的子部分,然后重新索引(用于查询)整个片段

我的问题是:将数据追加到现有表中(使用
store.append
)然后对新表重新编制索引是否更有效,还是应该简单地使用需要追加的数据创建一个新表

如果我使用后者,我可能会在HDSFStore中创建很多(超过100k)节点。这会降低节点访问时间吗


我试着寻找其他答案,还创建了自己的带有一堆节点的商店,看看是否有影响,但我找不到任何有意义的东西。感谢您的帮助

我不知道HDF5文件中有很多节点有什么问题。文件()中的组数没有限制

您也可以调整数据集的大小,但速度和空间性能将取决于分配方法(连续与分块)。请阅读《用户指南》中的相关内容:


h5py实现允许分块以及默认的连续模式。

高效是什么意思?最小化时间或最小化空间,还是某种组合?