两个 python 程序可以同时写入和读取同一个 HDF5 文件吗
can two python programs write and read a same HDF5 file at same time
我有 2 个 python 程序:
1)data reciever: It's a TCP SERVER writen in tornado,about 3,000 rows of data will be sent to it every second. here is the hander:
def _on_data_rev(data_list):
tickstore_file=r"d:\data16_01_11.h5"
tempdf=pd.DataFrame(data_list)
hdf_output = pd.HDFStore(tickstore_file, complib='blosc')
hdf_output['_'+str(int(time.time()))]=tempdf
hdf_output.flush()
数据来的很快,所以这个程序只做保存工作,没有别的。
2)data analysis:program 2 will analysis the lastest data on the same file every second
我可以同时读取HDF5文件吗?这会破坏 HDF5 文件吗?
您要查找的是 HDF5 的单写入器多 Reader (SWMR) 功能。
SWMR 在上面被列为 new in the 1.10 release and has a fair bit of documentation。
它也在 h5py 版本 2.5.0 中。
至于pandas中的支持,我不太确定,因为我不使用它。
我有 2 个 python 程序:
1)data reciever: It's a TCP SERVER writen in tornado,about 3,000 rows of data will be sent to it every second. here is the hander:
def _on_data_rev(data_list):
tickstore_file=r"d:\data16_01_11.h5"
tempdf=pd.DataFrame(data_list)
hdf_output = pd.HDFStore(tickstore_file, complib='blosc')
hdf_output['_'+str(int(time.time()))]=tempdf
hdf_output.flush()
数据来的很快,所以这个程序只做保存工作,没有别的。
2)data analysis:program 2 will analysis the lastest data on the same file every second
我可以同时读取HDF5文件吗?这会破坏 HDF5 文件吗?
您要查找的是 HDF5 的单写入器多 Reader (SWMR) 功能。
SWMR 在上面被列为 new in the 1.10 release and has a fair bit of documentation。
它也在 h5py 版本 2.5.0 中。
至于pandas中的支持,我不太确定,因为我不使用它。