RHDF5 2.35.2.
这RHDF5.提供有限的支持,对存储在Amazon S3存储桶中的HDF5文件的只读访问。这是通过(HDF5 S3虚拟文件驱动程序)实现的[https://portal.hdfgroup.org/display/hdf5/virtual+file +drivers+ - +S3+和+HDFS.]允许访问在公共和私有S3存储桶中托管的HDF5文件。
目前只有功能H5LS()
那h5dump()
和H5READ()
得到支持。
图书馆(RHDF5)
要在公共Amazon S3存储桶中访问文件,您将为文件的URL提供给文件
争论。您还需要设置参数s3 =真实
, 除此以外H5LS()
将将URL视为本地磁盘上的路径失败。
public_s3_url < - “https://rhdf5-public.s3.eu-central-1.amazonaws.com/h5ex_t_array.h5”h5ls(file = public_s3_url,s3 = true)
## Group Name Otype DCLASS DIM ## 0 / DS1 H5I_DATASET阵列4
相同的参数也适用于使用h5dump()
检索文件的内容。
public_s3_url < - “https://rhdf5-public.s3.eu-central-1.amazonaws.com/h5ex_t_cmpd.h5”h5dump(file = public_s3_url,s3 = true)
## $ DS1 ##序列号位置温度(F)压力(INHG)压力(INHG)## 1 1153外部(静电)53.23 24.57 ## 2 1184进气55.12 22.95 ## 1027进气歧管103.55 31.23 ## 4 1313排气歧管1252.89 84.11
除了检查和读取整个文件外,我们还可以仅提取一个子集,而无需读取或下载整个文件。在下面的例子中,我们使用H5LS()
检查S3桶中的文件,并识别它内的数据集的名称(A1
)和该数据集的维度数(3)。然后我们可以使用H5READ()
随着名称
和指数
只读数据集的子集的参数将进入我们的r会话。
public_s3_url < - 'https://rhdf5-public.s3.eu-central-1.amazonaws.com/rhdf5ex_t_float_3d.h5'h5ls(file = public_s3_url,s3 = true)
## Group Name Otype DCLASS DIM ## 0 / A1 H5I_DATASET FLOAT 5 x 10 x 2
H5Read(public_s3_url,name =“a1”,index = list(1:2,3,null),s3 = true)
##,,1 ## ##,1] ## [1,] 0.2444485 ## [2,] 0.3873723 ## ## ,,2 ## ##,1] ## [1,] 0.7906603##[2,] 0.3274960
要访问私人Amazon S3存储桶中的文件,您需要提供三个其他详细信息:托管文件的AWS区域,您的AWS访问密钥ID以及您的AWS秘密访问键。有关如何获取AWS Access键的更多信息AWS安全凭证。
这三个值需要存储在如下所示的列表中。重要说明:现在他们必须采用此特定订单。
##这些是示例凭据,不起作用s3_cred < - list(aws_region =“eu-central-1”,Access_key_id =“akiaiosfodnn7example”,secret_access_key =“wjalrxutnfemi / k7mdeng / bpxrficyexampleke”)
最后,我们将此列表传递给H5LS()
通过这一点S3Criends.
争论。
public_s3_url < - “https://rhdf5-private.s3.eu-central-1.amazonaws.com/h5ex_t_array.h5”h5ls(file = public_s3_url,s3 = true,s3credentials = s3_cred)
这S3Criends.
参数以完全相同的方式使用h5dump()
和H5READ()
。
sessioninfo()
在开发中(不稳定)(2021-03-18 R80099)##平台:X86_64-PC-Linux-GNU(64位)##正在运行:Ubuntu 20.04.2 LTS ## ##矩阵产品:默认## blas:/home/biocbuild/bbs-3.13-bioc/r/lib/liblblas.so ## lapack:/home/biocbuild/bbs-3.13-bioc/r/lib/librlapack.so #### locale:## [1] lc_ctype = en_us.utf-8 lc_numeric = c ## [3] lc_time = en_us.utf-8 lc_collate = c ## [5] lc_monetary = en_us.utf-8 lc_messages = en_us.utf-8##[7] lc_paper = en_us.utf-8 lc_name = c ## [9] lc_address = c lc_telephone = c ## [11] lc_measurement = en_us.utf-8 lc_identification = c ## ##附加基本包:##[1]统计图形grdevices utils数据集方法基础## ##其他附加包:## [1] ggplot2_3.3 oplt_1.0.5 rhdf5_2.35.2 biocstyle_2.35.1 ## ##通过命名空间加载(而未附加):##[1] rcpp_1.0.6 highr_0.8 bslib_0.2.4 ## [4] compiler_4.1.0 pillar_1.5.1 biocmanager_1.30.10 ## [7] jquerylib_0.1.3 rhdf5filters_1.3.4 tools_4.1.0 ## [10] bit_4.0.4 digest_0.6.27 gtable_0.3.0 ## [13] JSONLITE_1.7.2评估_0.14 Lifecycle_1.0.0 ## [16] tibble_3.1.0 debugme_1.1.0 pkgconfig_2.0.3 ## [19] rlang_0.4.10 dbi_1.1.1 magick_2.7.0 ## [22] microbenchmark_1.4-7 yaml_2.2.1xfun_0.22 ## [25] withr_2.4.1 stringr_1.4.0 knitr_1.31 ## [28] generics_0.1.0 vctrs_0.3.6 sass_0.3.1 ## [31] Bit64_4.0.5 Grid_4.1.0 TidySelect_1.1.0 ## [34]glue_1.4.2 r6_2.5.0 fansi_0.4.2 ## [37] Rmarkdown_2.7 Bookdown_0.21 Farver_2.1.0 ## [40] RHDF5LIB_1.13.4 purrr_0.3.4 magrittr_2.0.1 ## [43] CODETOOLS_0.2-18 SCOLES_1.1htmltools_0.5.1.1.1.1.1.1.1.1 assertthat_0.2.1 colorspace_2.0-0 ## [49] labeling_0.4.2 utf8_1.2.1 stringi_1.5.3 ## [52] Munsell_0.5.0 Crayon_1.4.1