在AWS上使用s3fs加载HDF5数据时没有键

问题描述

所以,我正尝试在具有s3fs的Sage Maker笔记本中以h5py加载HDF5数据。

这或多或少是我的代码

s3 = s3fs.S3FileSystem()

#getting all files
files = s3.ls('s3://sagemake...')

def analyze_index(idx):
    with h5py.File(s3.open(files[1],"rb"),'r+',ib_version='latest') as f:
        print(f.keys())

analyze_index(1)

我得到这个作为输出,没有键,并且当f在with范围之外时似乎发生了错误:

<KeysViewHDF5 []>

UnsupportedOperation                      Traceback (most recent call last)
h5py/h5fd.pyx in h5py.h5fd.H5FD_fileobj_truncate()

UnsupportedOperation: truncate

当我在本地计算机上运行该程序并加载存储在本地的相同日期集时,我会得到一个密钥列表,这使我相信s3fs和h5py协同工作的方式存在一些问题。根据研究,这似乎是here发现的错误的转世,在该错误中,用户无法找到“寻找”,这是他们期望找到的关键。他们使用r而不是r+,但是当我这样做时,文件无法完全加载。引用此错误:

TypeError: an integer is required

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...